URL 靜態化可以提高搜尋引擎抓取,開啟本功能需要對 Web 伺服器增加相應的 Rewrite 規則,且會輕微增加伺服器負擔。本教程講解如何在 IIS 環境下配置各個產品的 Rewrite 規則。
配置步驟:(圖文結合)
首先下載 Rewrite.zip 的包,解壓到任意盤上的任意目錄。
在 IIS 管理器裡選擇網站,右鍵選擇“屬性”,如下圖所示:
在彈出的窗口裡選擇“ISAPI篩選器”
上圖中點選“新增”,在彈出的窗口裡“篩選器名稱”填寫“rewrite”
上圖介面中點選“瀏覽”,選擇下載解壓後的 Discuz! Rewrite 規則目錄下的 Rewrite.dll 檔案
瀏覽完畢點選“確定”
新增完畢點選“確定”
重新啟動 IIS
重新選擇該站點 => 右鍵“屬性”=> “ISAPI 篩選器”,如果看到狀態為向上的綠色箭頭,就說明 Rewrite 模組安裝成功了。到這裡我們的伺服器IIS 配置好了~~如果你的是虛擬主機 則詢問伺服器提供商支不支援 Rewrite
規則配置
規則一般都是你的程式提供的,你可以詢問程式提供商。對於DZ 的程式都支援的。
拿DZ規則做為例子:
DZ 程式後臺都有規則生成器,按照自己的要求填寫好規則 生成後~
如下所示:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
RewriteRule ^(.*)/topic-(.+)\.html\?*(.*)$ $1/portal\.php\?mod=topic&topic=$2&$3
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/portal\.php\?mod=view&aid=$2&page=$3&$4
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$4
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=viewthread&tid=$2&extra=page\%3D$4&page=$3&$5
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forum\.php\?mod=group&fid=$2&page=$3&$4
RewriteRule ^(.*)/space-(username uid)-(.+)\.html\?*(.*)$ $1/home\.php\?mod=space&$2=$3&$4
RewriteRule ^(.*)/([a-z]+)-(.+)\.html\?*(.*)$ $1/$2\.php\?rewrite=$3&$4
找到我們剛解壓出來的文化,裡面有一個httpd.ini 這樣的檔案,用記事本開啟!!把自己的規則覆蓋進去!!儲存即可
然後把這個檔案上傳到伺服器根目錄,一般為 web 目錄下。
然後進入網站程式後臺開啟 靜態化即可!!
原作者: 李學朋