|
|
|
|
|
關(guān)于win2012(IIS8.5)偽靜態(tài)重寫(xiě)無(wú)后綴URL的問(wèn)題,困擾了我?guī)滋鞎r(shí)間,一直在百度找不到能真正解決問(wèn)題的方法。最后,還是Google資源更優(yōu)質(zhì),它幫助我解決了這個(gè)在我看來(lái)就快要放棄的問(wèn)題。
問(wèn)題描述
偽靜態(tài)重寫(xiě)無(wú)后綴URL,如:
http://www.howtostagehomes.com/123
==>
http://www.howtostagehomes.com/list.aspx?id=123
如果我們就上述偽靜態(tài)編寫(xiě)規(guī)則,那么會(huì)提示:404 文件不存在。
網(wǎng)上有人提到添加應(yīng)用程序映射、模塊等,很多人都轉(zhuǎn)了這篇文章,但是這種方法其實(shí)是不對(duì)的。
解決方法
安裝時(shí)注意版本,64位系統(tǒng)選64位的軟件,32位系統(tǒng)選32位的軟件。
1、安裝rewrite 2.0
安裝rewrite 2.0請(qǐng)參看下文。
2、安裝application request routing:
安裝 application request routing 請(qǐng)按下面IIS官網(wǎng)的網(wǎng)頁(yè)的指引操作。
https://www.iis.net/downloads/microsoft/application-request-routing
安裝了上面兩個(gè)軟件之后,我們就可以在IIS里添加重寫(xiě)規(guī)則。
很多人更喜歡直接在Web.config添加重寫(xiě)規(guī)則。
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.webServer>
<rewrite>
<rules>
<rule name="rule1">
<match url="^(.*)t/([0-9,a-z]*)" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/list.asp?id={R:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
關(guān)于 IIS7+ 的偽靜態(tài),詳細(xì)介紹請(qǐng)看《實(shí)例介紹Web.config rewrite規(guī)則設(shè)置url重寫(xiě)功能》。
要偽靜態(tài)重寫(xiě)無(wú)后綴URL,你必須首先啟動(dòng) Application Request Routing (應(yīng)用程序請(qǐng)求路由)。
注意,你要從 Internet Information Services (IIS)管理器 打開(kāi)IIS,才能顯示 Application Request Routing 的圖標(biāo)。在 計(jì)算機(jī)管理 里打開(kāi)IIS,是看不到 Application Request Routing 的圖標(biāo)的。
這樣,我們就可以編輯Web.config,添加偽靜態(tài)重寫(xiě)無(wú)后綴URL規(guī)則了,如:
<?xml version="1.0" encoding="UTF-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.webServer>
<rewrite>
<rules>
<rule name="rule1">
<match url="^(.*)t/([0-9,a-z]*)" ignoreCase="false" />
<action type="Rewrite" url="{R:1}/list.asp?id={R:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
特別要注意的是,<rule>
節(jié)點(diǎn)里的name值不能重復(fù),否則網(wǎng)站訪問(wèn)報(bào)錯(cuò)。更多注意事項(xiàng)請(qǐng)看《實(shí)例介紹Web.config rewrite規(guī)則設(shè)置url重寫(xiě)功能》。
總結(jié)
本文介紹了win2012(IIS8.5)偽靜態(tài)重寫(xiě)無(wú)后綴URL的方法,該方法對(duì)于 IIS7+ 都有效。
相關(guān)文章