【问题标题】:IIS URL Rewrite rule - How can I remove some segments?IIS URL 重写规则 - 如何删除某些段?
【发布时间】:2012-05-03 08:10:10
【问题描述】:

我已阅读 iis.net 上的文章 Creating Rewrite Rules for the URL Rewrite Module,我想从我的网址中删除一些片段。

例如,来自:

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

【问题讨论】:

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


    【解决方案1】:

    看起来您正在尝试倒退。 &lt;match&gt; 元素代表友好的 URL - 用户在浏览器中输入的 URL、链接中包含的 URL 以及 IIS 接收的 URL。

    &lt;action&gt; 元素代表 unfriendly 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 中,或者想出一些可以在没有这些数字的情况下处理请求的中间处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-09
      • 2014-10-27
      • 2014-05-01
      • 2020-04-11
      • 2011-04-21
      相关资源
      最近更新 更多