IIS URL重写删除文件夹并重定向到其他域

时间:2016-10-18 13:54:20

标签: url redirect iis url-rewriting rule

我有两个域名,www.example.com和www.example.xx。

当我访问example.com并更改语言时,我的地址更改为example.com/xx。在这种情况下,我想重定向另一个域后缀,如example.xx。但我仍然希望转发完整的地址路径。

例如:http://example.com/xx/one/two/three/four/five/?query=string应重定向到http://example.xx/one/two/three/four/five/?query=string

我尝试了几种方法,但没有运气。

<rewrite>
  <rules>
    <rule name=".com xx Redirect" stopProcessing="true">
      <match url="(www\.)?example\.com\/xx\/.*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_URI}" pattern="^xx\/(.*)" />
      </conditions>
      <action type="Redirect" url="http://example.xx/{C:1}" appendQueryString="true" redirectType="Temporary" />
    </rule>
  </rules>
</rewrite>

1 个答案:

答案 0 :(得分:0)

匹配网址仅匹配路径而不匹配域。你必须做这样的事情:

<rule name=".com xx Redirect" stopProcessing="true">
<match url="^xx/(.*)" />
<conditions >
  <add input="{HTTP_HOST}" pattern="^(www\.)?example\.com$" ignoreCase="true" />

</conditions>
<action type="Redirect" url="http://example.xx/{R:1}" appendQueryString="true" />