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

IIS URL Rewrite remove folder and redirect to other domain

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

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

例如:http://example.com/xx/one/two/three/four/five/?query=string should redirect to 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>

匹配 url 只匹配路径,不匹配域。你将不得不做这样的事情:

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