IIS重写规则 - 从一个域绑定重定向到另一个域绑定

时间:2017-05-06 15:55:15

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

我的IIS网站上有多个绑定,我想要捕获所有

请求

以下任何一项 - domainA.co.uk,www.domainA.co.uk,domainA.com,www.domainA.com

并重定向到网站上其他绑定之一的页面

www.domainB.com/my-folder /

这是否可以通过URL重写?

2 个答案:

答案 0 :(得分:2)

可以使用url重写,您需要使用此规则:

<rule name="all domains to www.domainB.com/my-folder" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^domainA.co.uk$" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="^www.domainA.co.uk$" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="^domainA.com$" ignoreCase="true" />
        <add input="{HTTP_HOST}" pattern="^www.domainA.com$" ignoreCase="true" />
    </conditions>
    <action type="Redirect" url="http://www.domainB.com/my-folder/{R:1}" />
</rule>

它会重定向网址:

  • domainA.co.ukwww.domainB.com/my-folder/
  • www.domainA.co.ukwww.domainB.com/my-folder/
  • domainA.comwww.domainB.com/my-folder/
  • www.domainA.comwww.domainB.com/my-folder/
  • www.domainA.com/somethingwww.domainB.com/my-folder/something(如果您不想要,请删除{R:1}表单规则)

答案 1 :(得分:-1)

您可以使用重写来重定向域

<rewrite>
      <rules>
        <rule name="Force non-WWW and SSL" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">

            <add input="{HTTP_HOST}" negate="true" pattern="^www.(.*)$" ignoreCase="true" />
          </conditions>
          <action type="Redirect" url="https://www.{C:1}/{R:1}" appendQueryString="true" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>