首頁
相簿
論壇
訂閱最新文章
顯示具有 伺服器架設 標籤的文章。 顯示所有文章
顯示具有 伺服器架設 標籤的文章。 顯示所有文章

星期日, 8月 17, 2008

Discuz! URL 靜態化

Apache Web Server(獨立主機用戶)

首先確定您使用的 Apache 版本,及是否加載了 mod_rewrite 模塊。

Apache 1.x 的用戶請檢查 conf/httpd.conf 中是否存在如下兩段代碼:
LoadModule rewrite_module libexec/mod_rewrite.so

AddModule mod_rewrite.c


Apache 2.x 的用戶請檢查 conf/httpd.conf 中是否存在如下一段代碼:
LoadModule rewrite_module modules/mod_rewrite.so



如果存在,那麼在配置文件(通常就是 conf/httpd.conf)中加入如下代碼。此時請務必注意,如果網站使用通過虛擬主機來定義,請務必加到虛擬主機配置,即 中去,如果加在虛擬主機配置外部將可能無法使用。改好後然後將 Apache 重啟。
<IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)$ $1/archiver/index.php?$2
                RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
                RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
                RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
                RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2
        </IfModule>

Apache Web Server(虛擬主機用戶)

在開始以下設置之前,請首先咨詢您的空間服務商,空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,否則即便按照下面的方法設置好了,也無法使用。

檢查論壇所在目錄中是否存在 .htaccess 文件,如果不存在,請手工建立此文件。Win32 系統下,無法直接建立 .htaccess 文件,您可以從其他系統中拷貝一份,或者在 Discuz.net 技術支持欄目中下載此文件。編輯並修改 .htaccess 文件,添加以下內容
# 將 RewriteEngine 模式打開 RewriteEngine On

 # 修改以下語句中的 /discuz 為你的論壇目錄地址,如果程序放在根目錄中,請將 /discuz 修改為 / RewriteBase /discuz
 # Rewrite 系統規則請勿修改
 RewriteRule ^archiver/((fid|tid)-[\w\-]+\.html)$ archiver/index.php?$1 RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
 RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
 RewriteRule ^tag-(.+)\.html$ tag.php?name=$1

添加內容時,請遵照上面的提示,修改論壇所在的路徑,然後保存。將 .htaccess 文件上傳到論壇所在的目錄中。然後進入論壇系統設置的搜索引擎優化,根據需要開啟 URL 靜態化功能。

更多訊息請參考官方連結

張貼者:甄咖郎 於 上午10:37:00 0  

星期一, 7月 21, 2008

設定子網域Windows DNS + Apache Web

狀況:
在一台電腦(同ip及網域名稱)上使用多個子網域架設多個網站。
例如:
www1.itony.idv.tw
www2.itony.idv.tw
…[separator]

申請網域名(TWNIC)
設定DNS(使用windows的DNS)
設定Apache(Apache, AppServ)
1.申請網域名
到TWNIC申請自己的網址(ex. itony.idv.tw)
TWNIC目前已不直接受理,而由其他公司代理

2.設定DNS
在申請網址的代理公司提供的管理頁裡,選擇由自己的架設的DNS做位址解析。

在DNS 裡新增正向區域 itony.idv.tw
接著在正向區域裡新增主機(A) ,ip就是你的對外ip,名稱就是你的子網域名,像是www1, www2, …

3.設定Apache
如果是2.x之後的版本,當你要編輯 httpd.conf 時,會發現它的 Virtual hosts 設定改成用 Include 的,所以你要把 Include conf/extra/httpd-vhosts.conf 這一行前面的#拿掉。

接著到目錄 conf/extra/下找到 httpd-vhosts.conf 檔並編輯它。

修改的步驟:
<1>確認 NameVirtualHost *:80 這行前面沒被#註解掉

<2>直接複製它的範例區塊,修改成自己所要的

ServerAdmin xxx@gmail.com
DocumentRoot C:/AppServ/www/www1/
ServerName www1.itony.idv.tw
ErrorLog logs/www1.itony.idv.tw-error_log
CustomLog logs/www1.itony.idv.tw-access_log common


<3> 如果有多個子網域,只要一直複製上面這個區塊再做修改即可。

注意事項:
*:80 :必須設定成一樣的,可以設定成外部ip例如:111.222.333.444:80(也可以不要:80),那兩個地方都要設一樣,不然網址怎麼連都不會正確。
DocumentRoot:是你的資料夾目錄,就是在檔案總管裡看到的實際路徑。
ServerName:就是對外的網址,www1就是你在DNS設定的子網域名。

參考資料:
http://httpd.apache.org/docs/2.2/vhosts/
http://www.bearcrew.com/wordpress/?p=9

張貼者:甄咖郎 於 凌晨4:22:00 0