從網(wǎng)上找了一下,原來微軟IIS官方網(wǎng)站給IIS7及以后續(xù)版本提供了個URL重寫組件。
下載地址:http://www.iis.net/download/URLRewrite
首先,打開上面網(wǎng)址,到IIS官方網(wǎng)站下載模塊。
根據(jù)需要,點擊右側(cè)的下載鏈接(操作系統(tǒng)是64位的,就下載x64版本;32位的系統(tǒng),就下載x86版本)
IIS版本:IIS 7.5
URL Rewrite組件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite)
根據(jù)需要,點擊右側(cè)的下載鏈接(操作系統(tǒng)是64位的,就下載x64版本;32位的系統(tǒng),就下載x86版本)
注意的是,目前安裝的版本都是英文的了。

下載完成之后,安裝重寫模塊。
下載的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),雙擊安裝即可(安裝之前最好先停止IIS服務(wù),如果IIS服務(wù)沒停的話,安裝完成后會要求重啟系統(tǒng)。)

安裝完成后,打開“Internet 信息服務(wù)(IIS)管理器”,就可以看見模塊中多了一個Url Rewrite 模塊。

進(jìn)入需要設(shè)置的站點,雙擊 Url Rewrite 圖標(biāo),進(jìn)入設(shè)置界面。

點擊Add Rule(s)輸入Rewrite重寫規(guī)則。
確認(rèn)無誤后,點擊右欄的“應(yīng)用”按鈕,大功告成
當(dāng)然你也可以從原來配置的偽靜態(tài)文件導(dǎo)入:支持isapi的httpd.ini或.htaccess
案例:
很友好的URL地址,使訪問的人很容易記住。要求你的用戶記住“ http://www.49028c.com/article.aspx?id=342&;title=URL-Rewrite-Walkthrough” 這樣的網(wǎng)址并不是件很美妙的事。如果給用戶提供如下URL地址:http://www.pipima.com/article/342/URL-Rewrite-Walkthrough,就能更好引起共鳴和更容易被記住。
通過IIS URL Rewrite 模塊( URL Rewrite module)你可以很方便建立這一邏輯而不需要修改正在使用的Rewrite Maps代碼.我將告訴你從IIS管理器里來實現(xiàn)。打開IIS管理器,選擇“Default Web Site”,在“功能視圖”單擊“URL Rewrite”,然后在“操作”欄,單擊“Add Rules…”,在“select a rule templates”對話框選擇“Blank rule”,將打開“edit rule”屬性頁,按如下步驟定義實際的重寫規(guī)則(rewrite rule):
1、規(guī)則名稱。
2、匹配URL字符串所使用的模式。
3、設(shè)置條件選項。
4、模式匹配和所有條件檢查成功后執(zhí)行的操作。
為了實現(xiàn)下面的例子,“edit rule”屬性頁如下圖所示:

規(guī)則的名稱應(yīng)該是唯一(不重復(fù))的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正則表達(dá)式,將匹配滿足一下標(biāo)準(zhǔn)的任何URL字符串:
1、開始于“article/”字符序列。
2、在“/”后包含一個或多個數(shù)字字符。
3、在第二個“/”后包含一個或多個字母或“_”或“-”。
因為我們創(chuàng)建一個支持重寫URL的規(guī)則,因此規(guī)則類型是“Rewrite“。重寫字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一個新值用于輸入被重寫的URL。參數(shù)我們使用“ {R:1} ”和“{R:2}”,他們將返回一組通過規(guī)則匹配定義的引用(reference)。關(guān)于返回引用( back reference)你可以參考:URL Rewrite Module Configuration Reference,有關(guān)創(chuàng)建重寫規(guī)則的更多內(nèi)容見: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,你應(yīng)該運行IIS7.0有利于使用它。如果你的項目是使用Visual Studio for Web Developers開發(fā),那么項目應(yīng)該配置成在iis7.0下運行,而不是其他的web服務(wù)器。
有關(guān)URL Rewrite模塊的詳細(xì)內(nèi)容見:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
注意:
第一種方法是在web.config中進(jìn)行編碼
web.config位于網(wǎng)站項目的物理路徑,如果沒有自己生成一個就好。

//設(shè)置的規(guī)則就卸載這里喲

..................

//match 和 action中的url 均為正則表達(dá)式

以上就是自己填寫在web_config內(nèi)容的規(guī)范了。
第二種方法
查看網(wǎng)站的功能模塊,會發(fā)現(xiàn)IIS中有個【URL重寫】


現(xiàn)在都是英文版的了,以后微軟可能會出中文版的,但很多人反映不是很好用。個人也更新isapi_rewrite也挺好用的。
點擊進(jìn)入之后,最右側(cè)一列發(fā)現(xiàn)【導(dǎo)入規(guī)則】
[轉(zhuǎn)載]windows <wbr>server <wbr>2008R2系統(tǒng) <wbr>IIS7.5配置偽靜態(tài)頁面
進(jìn)入就可以引入規(guī)則文件了。不過要注意的是規(guī)則文件的格式為.htaccess。其中的映射規(guī)則還是要自己寫的。樣式如下:
RewriteEngine on
# URL規(guī)則(#為注釋符號喲)
RewriteRule ^index.html$ index.php [L]
RewriteRule ^product-cat-([0-9]+)-([0-9]+).html$ product.php?mod=list&cid=$1&page=$2 [L]
#意思是前面的html會映射到后面的文件中。RewriterRule的兩個鏈接(勉強(qiáng)稱之為鏈接)都是正則表達(dá)式的寫法。如果不了解正則表達(dá)式,就自己看看吧,嘿嘿
導(dǎo)入成功后,右側(cè)上方的【應(yīng)用】要記得點一下哈,這樣代碼就自動聲稱到web.config中去了
最后一步,無論手寫config還是通過htaccess,都要將網(wǎng)站站點重啟一下。這樣就可以啦~~
新聞熱點
疑難解答
圖片精選