我正在使用安装了 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>