我有2个类似的重写规则,就是互相残杀。
这些是我的规则:
<rule name="Product rewrite">
<match url="^product/([_0-9a-z-]+)/([0-9]+)" />
<action type="Rewrite" url="product.asp?id={R:2}" />
</rule>
<rule name="Article rewrite">
<match url="^([_0-9a-z-]+)/([0-9]+)" />
<action type="Rewrite" url="article.asp?id={R:2}" />
</rule>
现在的问题是,当我这样调用页面时:
/产品/ 56小分/ 14
然后调用article.asp而不是product.asp,但是当我像这样设置URL时:
/product/56-little-stars/14
然后一切都很好。所以你能告诉我如何使所有2个重写规则一起工作。我想能够打电话给这样的文章:
/this-is-title-of-my-article/11 <-> article.asp?id=11
打电话给这样的产品
/product/56-little-stars/14 <-> product.asp?id=14
谢谢!
答案 0 :(得分:0)
如果我理解正确你只需要添加stopProcessing =“true”,这样一旦产品规则适用(更具体),那么它就不会应用第二个。
<rule name="Product rewrite" stopProcessing="true">