使用 IIS URL 重定向模块重定向到不同的域而不是重定向

使用 IIS URL 重定向模块重定向到不同的域而不是重定向

我正在使用安装了 URL 重定向模块的 IIS 8.5。

我的用例是,我们有一个已停用的网站 (www.xyz.com),并且希望将此网站的所有请求重定向到另一个网站 (www.123.com)。在 www.xyz.com 的 web.config 中,我添加了以下代码:

<system.webServer>
  <rewrite>
    <globalRules>
      <rule name="Redirect to 123.com" stopProcessing="true" enabled="true">
        <match url="(.*)" ignoreCase="true" />
        <action type="Redirect" url="http://www.123.com/" redirectType="Permanent" />
      </rule>
    </globalRules>
  </rewrite>
</system.webServer>

我没有收到任何错误,但也没有重定向。它像往常一样只是转到 www.xyz.com。我缺少什么才能使此重定向正常工作?

谢谢

答案1

首先要检查的是,www.xyz.com 的 DNS 是否指向与 www.123.com 相同的 IP 地址?抱歉,在这里以“答案”的形式提问,但我还没有足够的积分来添加评论。

其次,假设第一个是正确的,您的重写规则没有指定条件,因此它会对您网站的每个请求执行此重定向,即使 URL 已经指定了 www.123.com。请尝试以下操作:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to 123.com" stopProcessing="true" enabled="true">
        <match url="(.*)" ignoreCase="true" />
        <conditions>
          <add input="{HTTP_HOST}" pattern="^www\.xyz\.com$" />
        </conditions>
        <action type="Redirect" url="http://www.123.com/" redirectType="Permanent" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

相关内容