久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

IIS7中Web.config的rewrite實(shí)例分析講解,教你看懂重寫規(guī)則

瀏覽:30日期:2023-02-28 17:21:52

本文詳細(xì)介紹解釋了IIS7 Web.config rewrite規(guī)則設(shè)置url重寫功能,通過講解實(shí)例的語(yǔ)法結(jié)構(gòu)和標(biāo)簽用法,搭配一些簡(jiǎn)單的正則表達(dá)式,你可以寫出符合自己要求的重寫規(guī)則。

首先請(qǐng)注意,本文適用IIS7及以上rewrite重寫功能

同樣要注意的是,要實(shí)現(xiàn)在 Web.config 的rewrite重寫功能,你必須先安裝 URL_Rewrite 重寫模塊。

下面是本文要介紹的內(nèi)容,如何通過 Web.config 的rewrite規(guī)則,設(shè)置url重寫功能。

實(shí)例代碼

<?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>
  <rule name="rule2">
     <match url="^(.*/)*([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$" />
     <action type="Rewrite" url="{R:1}/index.php?moduleid={R:2}&catid={R:3}&itemid={R:4}&page={R:5}" />
  </rule>
</rules>
      </rewrite>
  </system.webServer>
</configuration>

解釋

1、<rule>節(jié)點(diǎn)的name不能重復(fù)。

2、<match>里的url是一個(gè)正則表達(dá)式,實(shí)例里^(.*)t/([0-9,a-z]*)是一個(gè)常用的句式。

^匹配域名開頭,如:https://www.jb51.net/,注意域名后面有個(gè)斜杠/

(.*)匹配任何字符。

([0-9,a-z]*)匹配任何數(shù)字和字母。

 因此,^(.*)t/([0-9,a-z]*) 可以匹配如下的訪問網(wǎng)址(假如網(wǎng)站域名是www.jb51.net):

https://www.jb51.net/t/123

3、<action type="Rewrite" ...>表示執(zhí)行的類型是重寫,里面的url是實(shí)際網(wǎng)址,{R:1}/list.asp?id={R:2} 的解釋如下:

{R:1}對(duì)應(yīng)<match>里的url的第一個(gè)括號(hào)內(nèi)容,{R:2}對(duì)應(yīng)<match>里的url的第二個(gè)括號(hào)內(nèi)容,如果有{R:3}{R:4},如此類推。

所以,如果假如用戶訪問的網(wǎng)址是

https://www.jb51.net/t/123
https://www.jb51.net/news/t/a1

那么,其對(duì)應(yīng)的實(shí)際網(wǎng)址是

https://www.jb51.net/list.asp?id=123
https://www.jb51.net/news/list.asp?id=a1

4、按照上面的解釋,你應(yīng)該差不多能讀懂實(shí)例的rule2重寫規(guī)則了。

$,這是個(gè)結(jié)束符,表示匹配的url到此結(jié)束,后面沒有其他字符了。

([0-9]+) 表示匹配任何數(shù)字。

\.html 表示匹配 .html

\?表示匹配一個(gè)問號(hào)?

特別要注意,反斜杠\是轉(zhuǎn)義符,因?yàn)檎齽t表達(dá)式里,一點(diǎn).是表示匹配任何字符的意思,所以要加上反斜杠對(duì)其轉(zhuǎn)義,這樣才表示匹配的是一個(gè)點(diǎn).

同樣地,問號(hào)?也是一個(gè)元符號(hào),它表示匹配前面的子表達(dá)式零次或一次,因此,也需要在其前面加上轉(zhuǎn)義符\,這才表示匹配的是一個(gè)問號(hào)?

5、其他

ignoreCase="false" 表示不能忽略大小寫,如果該值設(shè)為true,則表示忽略大小寫。

appendQueryString="false" 表示不使用url參數(shù)。

總結(jié)

本文詳細(xì)介紹解釋了IIS7 Web.config rewrite規(guī)則設(shè)置url重寫功能,參考實(shí)例的語(yǔ)法結(jié)構(gòu),你可以寫出符合自己要求的重寫規(guī)則,你需要了解一些簡(jiǎn)單的正則表達(dá)式的語(yǔ)法。

到此這篇關(guān)于IIS7中Web.config的rewrite實(shí)例分析講解,教你看懂重寫規(guī)則的文章就介紹到這了,更多相關(guān)IIS7中url重寫的rewrite規(guī)則內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

標(biāo)簽: Windows IIS
相關(guān)文章:
主站蜘蛛池模板: 通河县| 湟中县| 云霄县| 兰溪市| 广灵县| 连南| 阿拉尔市| 任丘市| 长海县| 玛多县| 茌平县| 西充县| 盘山县| 安庆市| 吉木萨尔县| 蒙阴县| 德清县| 五寨县| 河北省| 西平县| 齐河县| 深泽县| 上林县| 胶州市| 察雅县| 灵宝市| 阿拉善盟| 丹寨县| 南昌县| 祥云县| 盐津县| 固原市| 修文县| 枣强县| 叙永县| 佛山市| 林芝县| 钦州市| 吉水县| 白银市| 白水县|