免費提供紙箱及拆裝、24H全省服務
合約保障、提供您平價又專業的搬家服務
法拍精做高難度防水抓漏/壁癌/油漆等工程
責任施工、合約保固!

首頁  •  j2h 論壇 • 程式設計討論     • 

Discuz! URL 靜態化 服務器環境的設置

房東:版主
發表時間:2007-01-30



http://discuz.bluelovers.net/redirect.php?tid=836&goto=lastpost

Discuz! URL 靜態化 服務器環境的設置Discuz! URL 靜態化的使用

Discuz! 4.1.0 新增了 Discuz! URL 靜態化(以下簡稱 URL 靜態化)功能。此功能可以將 Discuz! Archiver 及部分常用頁面(如 forumdisplay.php、viewthread.php、viewpro.php 等)進行 URL 靜態化轉換,形成類似http://www.demo.net/discuz/forum-1-1.html 形式的超級鏈接,從而使論壇內容更容易被搜索引擎挖掘,提高被收錄的機率。 使用注意事項
您可以通過 系統設置 中 Discuz! 選項 來控制 URL 靜態化 的打開或關閉及其工作狀態
本功能對服務器環境有特殊要求,獨立主機用戶需要對 Web 服務器增加相應的 Rewrite 規則,因此需要服務器權限才可使用。對於虛擬主機用戶,您需要向您的空間服務商進行咨詢:空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,只有滿足這兩條件,URL 靜態化 功能才會生效。
打開 URL 靜態化 後,論壇一些常用鏈接會變成類似http://www.demo.net/discuz/forum-1-1.html 形式,如果您的服務器環境不支持或者尚未配置好,訪問這些鏈接會出現「網頁無法顯示」的錯誤信息,論壇將無法正常訪問。發生無法訪問的現象時,請您進入管理後台,關閉 URL 靜態化 功能,論壇即可恢復正常狀態。
URL 靜態化 工作狀態
在 Discuz! 選項 中提供了四種 URL 靜態化 的工作狀態,分別是:

不啟用 URL 靜態化 功能。
Discuz! Archiver 靜態化
當論壇啟用 Archiver 功能時,Archiver 內的所有鏈接均採用 *.html 形式。
普通頁面靜態化
對論壇常用頁面(如 forumdisplay.php、viewthread.php、viewpro.php 等)進行 URL 靜態化轉換。
Archiver 和普通頁面均靜態化
對 Archiver 以及論壇常用頁面(如 forumdisplay.php、viewthread.php、viewpro.php 等)進行 URL 靜態化轉換。

Discuz! URL 靜態化 服務器環境的設置

Discuz! URL 靜態化 功能受到論壇所在服務器環境的制約,在開啟此功能之前,請根據你的 Web 服務器環境,選擇相應的環境配置方法。錯誤的設置有可能造成服務器無法啟動或者功能無效。以下僅提供 Apache 和 Zeus 的配置方法,IIS 或其他 Web 服務器您可根據原理自行修改。 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 重啟。 RewriteEngine On RewriteRule ^(.*)/archiver/([a-z0-9\-]+\.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 ^(.*)/profile-(username|uid)-(.+)\.html$ $1/viewpro.php?$2=$3
如果沒有安裝 mod_rewrite,您可以重新編譯 Apache,並在原有 configure 的內容中加入 --enable-rewrite=shared,然後再在 Apache 配置文件中加入上述代碼即可。

Apache Web Server(虛擬主機用戶)
在開始以下設置之前,請首先咨詢您的空間服務商,空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,否則即便按照下面的方法設置好了,也無法使用。 檢查論壇所在目錄中是否存在 .htaccess 文件,如果不存在,請手工建立此文件。Win32 系統下,無法直接建立 .htaccess 文件,您可以從其他系統中拷貝一份,或者在 Discuz.net 技術支持欄目中下載此文件。編輯並修改 .htaccess 文件,添加以下內容 # 將 RewriteEngine 模式打開 RewriteEngine On # 修改以下語句中的 /discuz 為你的論壇目錄地址,如果程序放在根目錄中,請將 /discuz 修改為 / RewriteBase /discuz # Rewrite 系統規則請勿修改 RewriteRule ^archiver/([a-z0-9\-]+\.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 ^profile-(username|uid)-(.+)\.html$ viewpro.php?$1=$2
添加內容時,請遵照上面的提示,修改論壇所在的路徑,然後保存。將 .htaccess 文件上傳到論壇所在的目錄中。進入論壇 系統設置,根據需要開啟 URL 靜態化 功能。

Zeus Web Server
在虛擬主機配置中找到 Request Rewriting,在 Rewrite Script 中寫入以下內容,然後 Apply changes 並 make it take effect。 match URL into $ with ^(.*)/archiver/([a-z0-9\-]+\.html)$ if matched then set URL = $1/archiver/index.php?$2 endif match URL into $ with ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ if matched then set URL = $1/forumdisplay.php?fid=$2&page=$3 endif match URL into $ with ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ if matched then set URL = $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3 endif match URL into $ with ^(.*)/profile-(username|uid)-(.+?)\.html$ if matched then set URL = $1/viewpro.php?$2=$3 endif
修改完服務器配置後請進入論壇 系統設置,打開 URL 靜態化 功能,測試功能是否正常。如果出現問題,請仔細檢查你所做的每一步。





  • 贊助網站       

    廣利不動產-新板特區指名度最高、值得您信賴的好房仲
    您的托付,廣利用心為您服務
    廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲
    完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心!



  •  共 0 人回應

    姓名:
    佈告內容:
    其他選項: