【问题标题】:Problem with similar rules IIS 7 Rewrite类似规则的问题 IIS 7 Rewrite
【发布时间】:2011-03-18 11:30:45
【问题描述】:

我有两条类似的重写规则,就是互相残杀。

这些是我的规则:

<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>

现在的问题是当我这样调用页面时:

/product/56-little-stars/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

谢谢!

【问题讨论】:

    标签: iis url iis-7 url-rewriting rewrite


    【解决方案1】:

    如果我理解正确,您只需要添加 stopProcessing="true" 以便一旦应用产品规则(更具体),它就不会应用第二个。

    <rule name="Product rewrite" stopProcessing="true">  
    

    【讨论】:

    • 我这样做了,但是现在当我调用“/product/56-little-stars/14”时,它需要的时间太长了,就像它在登陆页面之前会重定向或其他东西一样。谁能知道是什么问题。
    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 2014-05-01
    • 2014-08-22
    • 2017-12-21
    • 1970-01-01
    • 2017-02-15
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多