【问题标题】:URL Rewrite fake URLURL 重写虚假 URL
【发布时间】:2013-10-15 16:35:42
【问题描述】:

我试图在 web.config 中创建 URL 重写规则。应该执行该规则来创建页面的虚假 url。

如果我有这个链接:

www.mywebsite.com/en-us/mypage 它应该重定向到 wwww.mywebsite.com/en-us/fakepage

但在某些情况下,网页可能是

www.mywebsite.com/en-us/mypage/value 转 wwww.mywebsite.com/en-us/fakepage/value。

O 已经创建了类似的东西,但它不能正常工作。

    <rewrite>
    <rules>
      <rule name="Rewrite rule" stopProcessing="true">
        <match url="(.*)en-us/mypage" />
        <action type="Rewrite" url="en-us/fakepage" appendQueryString="false" redirectType="Permanent"/>
      </rule>
      <rule name="Rewrite2" stopProcessing="true">
        <match url="(.*)en-us/mypage$" />
        <action type="Redirect" url="en-us/fakepage" appendQueryString="false" redirectType="Permanent"/>
      </rule>
    </rules>
  </rewrite>

【问题讨论】:

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


    【解决方案1】:

    您需要在&lt;match&gt; 标记中创建一个分组并使用{R:} 反向引用它:

    <rules>
      <rule name="Rewrite rule" stopProcessing="true">
        <match url="(.*)en-us/mypage(.*)$" />
        <action type="Rewrite" url="en-us/fakepage{R:2}" appendQueryString="false" redirectType="Permanent"/>
      </rule>
    </rules>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多