在線客服
24小時免費咨詢電話:18978941786
客服時間:上午9:30~下午6點
偽靜態的實現方法:IIS環境下配置Rewri...
收藏 分享 發布日期:2012-3-28 19:12:38 編輯:admin 文章來源: 點擊率:
1、將下載的 IIS Rewrite 組件解壓,放到適當的目錄(如 C:Rewrite)下。
2、在“IIS管理器”里選擇網站,右鍵,屬性。
3、選擇“ISAPI”,點擊“添加”。
4、填入篩選器名稱,如“rewrite”。
5、可執行文件下方點擊“瀏覽”,選擇剛才解壓的Rewrite組件位置,Rewrite.dll。
6、確認選擇正確后,點擊“確定”。
7、點擊“確定”,完成篩選器添加。
8、重啟IIS。
9、重啟IIS后,再次選擇站點,右鍵,屬性,看到如下所示向上的綠箭頭,說明 IIS Rewrite 成功添加并運行。
IIS Rewrite 規則設置
解壓后的 IIS Rewrite 組件目錄(如 C:Rewrite)中,有一個 httpd.ini 文件,將相應規則寫入到這個文件中即可。
1. 安裝重寫插件Rewrite.dll
如果你的 IIS 服務器加載過 Rewrite.dll 則可以不用下載。
Rewrite.dll文件:百度搜索關鍵字:Rewrite.dll 下載
加載 Rewrite.dll
在 IIS 的 Isapi 上添加篩選器
篩選器名稱為:re
可執行文件選擇 Rewrite.dll 就可以了!
2. 配置 httpd.ini
打開你的httpd.ini,找到
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
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
以上是 Discuz!官方提供的配置代碼,注意正則格式。
3. 應用
比如,將read.php?bl_id=123&bu_id=456 偽靜態成 /html/123/456.html
可以這樣寫:
RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3
要使你的IIS服務器支持偽靜態重寫,按以下步驟來:
1. 安裝重寫插件Rewrite.dll
如果你的 IIS 服務器加載過 Rewrite.dll 則可以不用下載。
加載 Rewrite.dll
在 IIS 的 Isapi 上添加篩選器
篩選器名稱為:re
可執行文件選擇 Rewrite.dll 就可以了!
2. 配置 httpd.ini
打開你的httpd.ini,找到
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
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
以上是 Discuz!官方提供的配置代碼,注意正則格式。
3. 應用
比如,將read.php?bl_id=123&bu_id=456 偽靜態成 /html/123/456.html
可以這樣寫:
RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3
再例:
123.php?id=123
123/id/123
RewriteRule ^123/id/([0-9][0-9][0-9])/$ /123.php?id=$1
or
RewriteRule ^123/id/([0-9]+)$ /123.php?id=$1
PW的規則:[ISAPI_Rewrite]
RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
RewriteRule ^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2
個人備注:
這里的$1, $2, $3就是前一個表達式的匹配值
比如:
^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2
中對應的顏色對應相應的值!
Windows2003 IIS6/7偽靜態組件下載/安裝/配置(附偽靜態規則)
http://www.xp-sem.com/windows2003-iis6-iis7-url-rewrite/