[英]Issue with Similar Rewrite Rules in Web.config
我的web.config中有一條有效的規則。
<rule name="Guestbook Rewrite" stopProcessing="true">
<match url="(.*?)-guestbook" />
<action type="Rewrite" url="guestbook.asp?gb={R:1}" />
</rule>
當有人訪問MyDomain.com/view-guestbook或MyDomain.com/sign-guestbook時,他們會轉到相應的頁面。
我遇到的困難是我有幾頁的留言簿條目,因此我希望能夠添加一條規則,以便當某人轉到“ view-guestbook-page-9”時,他們實際上正在獲取MyDomain.com/guestbook .asp?gb = view&pagenum = 9。 我添加了以下規則,但是一旦我發現了500個錯誤。 我將猜測它與先前的規則沖突或語法不正確。
<rule name="Guestbook View Page Rewrite" stopProcessing="true">
<match url="view-guestbook-page-(.*)" />
<action type="Rewrite" url="guestbook.asp?gb=view&pagenum={R:1}" />
</rule>
如何同時擁有兩個規則或一個可以同時解決這兩個規則的規則?
我明白了。 我必須在第一個規則上添加一個條件,以便對另一個規則不做任何事情。 所以看起來像這樣:
<rule name="Guestbook Rewrite" stopProcessing="true">
<match url="(.*?)-guestbook" />
<conditions>
<add input="{REQUEST_URI}" pattern="view-guestbook-page-" negate="true" />
</conditions>
<action type="Rewrite" url="guestbook.asp?gb={R:1}" />
</rule>
<rule name="View Guestbook Page Rewrite" stopProcessing="true">
<match url="view-guestbook-page-(.*)" />
<action type="Rewrite" url="guestbook.asp?PageNum={R:1}" />
</rule>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.