windows 2008 IIS7 URL Rewrite 用法

調試網站發現 IIS7的HTTP 500.19錯誤後面一看客戶的網站用的有url Rewrite,參考這個使用方法和說明。

很友好的URL地址,使訪問的人很容易記住。要求你的用戶記住“ http://www.contoso.com/article.aspx?id=342&title=URL-Rewrite-Walkthrough” 這樣的網址並不是件很美妙的事。如果給用戶提供如下URL地址:http://www.contoso.com/article/342/URL-Rewrite-Walkthrough,就能更好引起共鳴和更容易被記住。

通過IIS URL Rewrite 模塊( URL Rewrite module)你可以很方便建立這一邏輯而不需要修改正在使用的Rewrite Maps代碼.我將告訴你從IIS管理器裏來實現。打開IIS管理器,選擇“Default Web Site”,在“功能視圖”單擊“URL Rewrite”,然後在“操作”欄,單擊“Add Rules...”,在“select a rule templates”對話框選擇“Blank rule”,將打開“edit rule”屬性頁,按如下步驟定義實際的重寫規則(rewrite rule):


1、規則名稱。
2、匹配URL字符串所使用的模式。
3、設置條件選項。
4、模式匹配和所有條件檢查成功後執行的操作。


規則的名稱應該是唯一(不重複)的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正則表達式,將匹配滿足一下標準的任何URL字符串:

1、開始於“article/”字符序列。
2、在“/”後包含一個或多個數字字符。
3、在第二個“/”後包含一個或多個字母或“_”或“-”。

因爲我們創建一個支持重寫URL的規則,因此規則類型是“Rewrite“。重寫字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一個新值用於輸入被重寫的URL。參數我們使用“ {R:1} ”和“{R:2}”,他們將返回一組通過規則匹配定義的引用(reference)。關於返回引用( back reference)你可以參考:URL Rewrite Module Configuration Reference,有關創建重寫規則的更多內容見:Creating rewrite rules for the URL Rewrite Module

一個很重要的就是URL Rewrite模塊是需要被安裝纔可以工作,你可以如下兩個版本:

x86版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691

x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692

該模塊(目前)只支持IIS7.0,你應該運行IIS7.0有利於使用它。如果你的項目是使用Visual Studio for Web Developers開發,那麼項目應該配置成在iis7.0下運行,而不是其他的web服務器。

有關URL Rewrite模塊的詳細內容見:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章