【问题标题】:URL rewrite matching incorrectly IISURL 重写匹配不正确的 IIS
【发布时间】:2016-12-30 09:33:49
【问题描述】:

所以我的网址是 'http://localhost:1272/pdp/Gitanjali-1GMRose995-24KtGoldCoin?id=GR-995-1GM-12269'。如果 URL 包含单词“pdp”,我希望 IIS 重定向到某个页面。但由于这也可能作为我在 URL 中输入的产品名称的一部分出现,我希望 IIS 匹配 /pdp/ 而不仅仅是单词 pdp

这是我尝试过的:

<rule name="test" stopProcessing="true">
       <match url="/pdp/" />
        <action type="Rewrite" url="/Product/ProductDisplay.aspx" logRewrittenUrl="true" />
  </rule>


    <rule name="test" stopProcessing="true">
       <match url="\/pdp\/" />
        <action type="Rewrite" url="/Product/ProductDisplay.aspx" logRewrittenUrl="true" />
  </rule>

这两个规则都无法与以下规则匹配:
http://localhost:1272/pdp/Gitanjali-1GMRose995-24KtGoldCoin?id=GR-995-1GM-12269

我做错了什么?

【问题讨论】:

  • 你能试试吗:

标签: asp.net iis url-rewriting


【解决方案1】:

我找到了答案。由于 pdp 位于 URL 的开头,因此 /pdp/ 中的第一个 / 不是必需的。删除它并使条件为

<rule name="test" stopProcessing="true">
   <match url="pdp\/" />
    <action type="Rewrite" url="/Product/ProductDisplay.aspx" logRewrittenUrl="true" />
</rule>

解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2011-01-23
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    相关资源
    最近更新 更多