網(wǎng)(LieHuo.Net)教程 Discuz! URL 靜態(tài)化(以下簡稱 URL 靜態(tài)化)功能可以將 Discuz! Archiver 及部分常用頁面(如 主題列表頁面 forumdisplay.php、主題內(nèi)容頁面 viewthread.php、個人資料頁面 space.php、標簽頁面 tag.php 等)進行 URL 靜態(tài)化轉(zhuǎn)換,形成類似 http://bbs.liehuo.net/forum-12-1.html形式的超級鏈接,從而使論壇內(nèi)容更容易被搜索引擎挖掘,提高被收錄的機率。
您可以通過 系統(tǒng)設置 => 全局 => 優(yōu)化設置 => 搜索引擎優(yōu)化 => URL靜態(tài)化 來控制需要靜態(tài)化的頁面。
本功能對服務器環(huán)境有特殊要求,獨立主機用戶需要對 Web 服務器增加相應的 Rewrite 規(guī)則,因此需要服務器權(quán)限才可使用。對于虛擬主機用戶,您需要向您的空間服務商進行咨詢:空間是否支持 Rewrite 以及是否支持對站點目錄中 .htaccess 的文件解析,只有滿足這兩條件,URL 靜態(tài)化 功能才會生效。
打開 URL 靜態(tài)化 后,論壇一些常用鏈接會變成類似 http://bbs.liehuo.net/forum-12-1.html 形式,如果您的服務器環(huán)境不支持或者尚未配置好,訪問這些鏈接會出現(xiàn)“網(wǎng)頁無法顯示”的錯誤信息,論壇將無法正常訪問。發(fā)生無法訪問的現(xiàn)象時,請您進入管理后臺,關(guān)閉 URL 靜態(tài)化 功能,論壇即可恢復正常狀態(tài)。
Discuz! URL 靜態(tài)化 功能受到論壇所在服務器環(huán)境的制約,在開啟此功能之前,請根據(jù)你的 Web 服務器環(huán)境,選擇相應的環(huán)境配置方法。錯誤的設置有可能造成服務器無法啟動或者功能無效。
一、Apache Web Server(獨立主機用戶)
首先確定您使用的 Apache 版本,還有是否加載了 mod_Rewrite 模塊。
Apache 1.x 的用戶請檢查 conf/httpd.conf 中是否存在如下兩段代碼:
LoadModule rewrite_module libexec/mod_rewrite.so
AddModule mod_rewrite.cApache 2.x 的用戶請檢查 conf/httpd.conf 中是否存在如下一段代碼:
LoadModule rewrite_module modules/mod_rewrite.so
如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代碼。此時請務必注意,如果網(wǎng)站使用通過虛擬主機來定義,請務必加到虛擬主機配置,即<VirtualHost> 中去,如果加在虛擬主機配置外部將可能無法使用。改好后將 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>
如果沒有安裝 mod_Rewrite,您可以重新編譯 Apache,并在原有 configure 的內(nèi)容中加入 --enable-Rewrite=shared,然后再在 Apache 配置文件中加入上述代碼即可。