URL重写虚假URL

时间:2013-10-08 16:17:50

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

我试图在web.config中创建一个URL重写规则。应该制定规则来创建页面的虚假URL。

如果我有这个链接:

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

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

wwww.mywebsite.com/en-us/mypage/value to 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>

1 个答案:

答案 0 :(得分:0)

您需要在<match>代码中创建分组,然后使用{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>