使用windows系列服務(wù)器,IIS設(shè)置偽靜態(tài),在web.config配置文件里可以很輕松地利用正則表達(dá)式寫偽靜態(tài)規(guī)則。
一個(gè)站點(diǎn)的偽靜態(tài)規(guī)則不可能只有一條,如果規(guī)則多的話,很可能會(huì)發(fā)生規(guī)則和規(guī)則之間發(fā)生沖突,從而網(wǎng)站出現(xiàn)異常,達(dá)不到預(yù)期效果。
本文就教大家如何在web.config里書寫正則表達(dá)式,排除某個(gè)目錄或特定關(guān)鍵詞的寫法。
先看下面兩條重寫規(guī)則:
<rule name="demo1" stopProcessing="true"> <match url="^([A-Za-z]*).html$" /> <action type="Rewrite" url="demo1.asp?name={R:1}" appendQueryString="false" /></rule><rule name="demo2" stopProcessing="true"> <match url="^demo.html$" /> <action type="Rewrite" url="demo2.asp" appendQueryString="false" /></rule>
如果name等于demo的話,這亮條規(guī)則就相互沖突了,如果我們在規(guī)則demo1里將demo這個(gè)指定關(guān)鍵詞排除在外的話,不包含demo字眼,就可以很好地解決這個(gè)問題。那這個(gè)規(guī)則該如何如些,請看下面的demo1的規(guī)則代碼:
<rule name="demo1" stopProcessing="true"> <match url="^((?!demo).([A-Za-z]*)).html$" /> <action type="Rewrite" url="demo1.asp?name={R:1}" appendQueryString="false" /></rule>
利用這樣的寫法,就可以讓偽靜態(tài)正則規(guī)則將demo排除在外了。
網(wǎng)上搜索摘錄