IS設定偽靜態方法(IIS Rewrite組件)

來源:互聯網
上載者:User

註:iis rewrite簡單使用方法介紹:一個功能強大的url處理引擎,功能和apache的 mod_rewrite類似,這個是for iis版本 可以把像list.asp教程?id=234 這樣的連結映射成 list/234.html 這樣就有利於在gg中的排名

完全版(full)與簡化版(lite)的最大的區別在於可以讓每個網站自訂url重寫規則(rewrite rule),也就是只要將寫好的httpd.ini放在網站根目錄,就能使用了。

安裝說明:下載後可以解壓出 isapi_rewrite.dll ,httpd.ini 這兩個檔案放到某個檔案夾下面,然後在 iis 網站屬性的 isapi 中載入 isapi_rewrite.dll  就可以了, httpd.ini  是設定檔裡面有例子。如果載入不成功的話 請給 isapi_rewrite.dll   安全屬性為完全。



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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.