本文介紹了在discuz建站過程中,由於iis伺服器軟體造成偽靜態不能正常顯示。本文以iis6.0系統的解決方法進行了詳細操作步驟介紹。
工具/原料
在聯網狀態下、ftp軟體。
方法/步驟
discuz站點由於偽靜態設定問題無法正常顯示
在discuz後臺,首頁,確定自己站點的伺服器系統及 PHP、伺服器軟體。由於伺服器軟體為Microsoft-IIS/6.0,確定問題為需要配置IIS/6.0的偽靜態設定。
在discuz後臺,全域性--SEO設定--檢視當前的 Rewrite 規則
顯示IIS/6.0的規則如圖所示
新建一文字文件httpd.ini,將IIS/6.0的規則拷貝到文件內,儲存。文件內容如下:
[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&$4
RewriteRule ^(.*)/article-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/portal\.php\?mod=view&aid=$2&page=$3&$5
RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=forumdisplay&fid=$2&page=$3&$5
RewriteRule ^(.*)/thread-{fid}-([0-9]+)- ([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=viewthread&tid={tid}&extra=page\%3D$3&page=$2&$6
RewriteRule ^(.*)/group-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/forum\.php\?mod=group&fid=$2&page=$3&$5
RewriteRule ^(.*)/space-(username uid)-(.+)\.html(\?(.*))*$ $1/home\.php\?mod=space&$2=$3&$5
RewriteRule ^(.*)/blog-([0-9]+)-([0-9]+)\.html(\?(.*))*$ $1/home\.php\?mod=space&uid=$2&do=blog&id=$3&$5
RewriteRule ^(.*)/(fid tid)-([0-9]+)\.html(\?(.*))*$ $1/index\.php\?action=$2&value=$3&$5
RewriteRule ^(.*)/([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5
將檔案httpd.ini,用ftp軟體上傳到網站的根目錄下。重新整理網站,問題解決。
注意事項
本文介紹的為discuz建站由於iis伺服器軟體造成的偽靜態不能正常顯示的解決方法。本文內容為iis6.0的解決辦法,如果為iis7.0,除第5步外都相同,請具體檢視iis7.0的有關規則自行解決。