技術(shù)頻道導(dǎo)航
HTML/CSS
.NET技術(shù)
IIS技術(shù)
PHP技術(shù)
Js/JQuery
Photoshop
Fireworks
服務(wù)器技術(shù)
操作系統(tǒng)
網(wǎng)站運(yùn)營(yíng)

贊助商

分類目錄

贊助商

最新文章

搜索

win2012(IIS8.5)偽靜態(tài)重寫無后綴URL【親測(cè)】

作者:admin    時(shí)間:2022-8-29 11:4:59    瀏覽:

關(guān)于win2012(IIS8.5)偽靜態(tài)重寫無后綴URL的問題,困擾了我?guī)滋鞎r(shí)間,一直在百度找不到能真正解決問題的方法。最后,還是Google資源更優(yōu)質(zhì),它幫助我解決了這個(gè)在我看來就快要放棄的問題。

問題描述

偽靜態(tài)重寫無后綴URL,如:

http://www.howtostagehomes.com/123
==>
http://www.howtostagehomes.com/list.aspx?id=123

如果我們就上述偽靜態(tài)編寫規(guī)則,那么會(huì)提示:404 文件不存在

網(wǎng)上有人提到添加應(yīng)用程序映射、模塊等,很多人都轉(zhuǎn)了這篇文章,但是這種方法其實(shí)是不對(duì)的。

解決方法

必需軟件

  1. IIS7+ 偽靜態(tài)的實(shí)現(xiàn)你必須先安裝 URL 重寫模塊 rewrite 2.0。
  2. 偽靜態(tài)重寫無后綴URL的實(shí)現(xiàn),你需要安裝 Application Request Routing (應(yīng)用程序請(qǐng)求路由)。

軟件下載及安裝

安裝時(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)頁的指引操作。

https://www.iis.net/downloads/microsoft/application-request-routing

設(shè)置方法

安裝了上面兩個(gè)軟件之后,我們就可以在IIS里添加重寫規(guī)則。

在IIS里添加重寫規(guī)則 

很多人更喜歡直接在Web.config添加重寫規(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重寫功能》。

偽靜態(tài)重寫無后綴URL

要偽靜態(tài)重寫無后綴URL,你必須首先啟動(dòng) Application Request Routing (應(yīng)用程序請(qǐng)求路由)。

啟動(dòng) Application Request Routing (應(yīng)用程序請(qǐng)求路由)

注意,你要從 Internet Information Services (IIS)管理器 打開IIS,才能顯示 Application Request Routing 的圖標(biāo)。在 計(jì)算機(jī)管理 里打開IIS,是看不到 Application Request Routing 的圖標(biāo)的。

這樣,我們就可以編輯Web.config,添加偽靜態(tài)重寫無后綴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)站訪問報(bào)錯(cuò)。更多注意事項(xiàng)請(qǐng)看《實(shí)例介紹Web.config rewrite規(guī)則設(shè)置url重寫功能》。

總結(jié)

本文介紹了win2012(IIS8.5)偽靜態(tài)重寫無后綴URL的方法,該方法對(duì)于 IIS7+ 都有效。

相關(guān)文章

標(biāo)簽: IIS8.5  IIS  偽靜態(tài)  
x
  • 站長(zhǎng)推薦
/* 左側(cè)顯示文章內(nèi)容目錄 */