從網上找了一下,原來微軟IIS官方網站給IIS7及以后續版本提供了個URL重寫組件。
下載地址:http://www.iis.net/download/URLRewrite或者//www.iis7.com/softs/479310.html
首先,打開上面網址,到IIS官方網站下載模塊。
根據需要,點擊右側的下載鏈接(操作系統是64位的,就下載x64版本;32位的系統,就下載x86版本)
IIS版本:IIS 7.5
URL Rewrite組件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite)
根據需要,點擊右側的下載鏈接(操作系統是64位的,就下載x64版本;32位的系統,就下載x86版本)
注意的是,目前安裝的版本都是英文的了。
下載完成之后,安裝重寫模塊。
下載的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),雙擊安裝即可(安裝之前最好先停止IIS服務,如果IIS服務沒停的話,安裝完成后會要求重啟系統。)
安裝完成后,打開“Internet 信息服務(IIS)管理器”,就可以看見模塊中多了一個Url Rewrite 模塊。
進入需要設置的站點,雙擊 Url Rewrite 圖標,進入設置界面。
點擊Add Rule(s)輸入Rewrite重寫規則。
確認無誤后,點擊右欄的“應用”按鈕,大功告成
當然你也可以從原來配置的偽靜態文件導入:支持isapi的httpd.ini或.htaccess
案例:
很友好的URL地址,使訪問的人很容易記住。要求你的用戶記住“ //www.iis7.com/article.aspx?id=342&;title=URL-Rewrite-Walkthrough” 這樣的網址并不是件很美妙的事。如果給用戶提供如下URL地址:http://www.pipima.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、模式匹配和所有條件檢查成功后執行的操作。
為了實現下面的例子,“edit rule”屬性頁如下圖所示:
規則的名稱應該是唯一(不重復)的,匹配字符串“^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
新聞熱點
疑難解答
圖片精選