1

我已阅读iis.net上为 URL 重写模块创建重写规则的文章,我想从我的 url 中删除一些段。

例如,来自:

/article/archive/2289/01/articleid/191/reftab/36/word1 word2 word3

至:

/article/articleid/191/word1-word2-word3

我已经用这个更改了我的 web.config 文件,但我无法解决我的问题:

<rewrite>
  <rules>
    <rule name="Remove segments">
      <match url="^article/archive/2289/01/([0-9]+)/([_0-9a-z-]+)" />
      <action type="Rewrite" url="article/articleid/{R:1}/{R:2}" />
    </rule>
  </rules>
</rewrite>
4

1 回答 1

0

看起来你正试图向后做。该<match>元素表示友好 URL - 用户在浏览器中输入的 URL、链接中包含的 URL 以及 IIS 接收的 URL。

<action>元素表示不友好的URL - 如果您不使用 rewrite 模块,您将不得不使用的丑陋 URL。

<match url="^article/articleid/([0-9]+)/([_0-9a-z-]+)" />
<action type="Rewrite" url="/article/archive/2289/01/articleid/{R:1}/reftab/36/{R:2}" />

这里的问题是你可能不想硬编码2289/01,对吧?您需要将其合并到您的友好 URL 中,或者提出一些可以在没有这些数字的情况下处理请求的中间处理程序。

于 2012-11-09T23:59:38.560 回答