我在IIS上运行一个小型ASP.NET4网站。我最近将域名从'olddomain.com'更改为'newdomain.com'。这一变化是通过Plesk完成的。在进行更改后,我在plesk中添加了“olddomain.com”作为域别名,以便流量仍然可以路由到旧域上的网站。
到目前为止这很好。该网站解析旧网址和新网址。
但是,现在我想在任何地方设置301重定向,以便将olddomain.com的任何请求转发到newdomain.com。没有任何网站页面发生过变化 - 这只是一个简单的域名更改。
我已将此添加到web.config文件中:
<rewrite>
<rules>
<rule name="Redirect all to different domain" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^olddomain.com$" />
</conditions>
<action type="Redirect" url="http://www.newdomain.com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
但它似乎没有任何影响;当我在浏览器中加载olddomain.com时,它只是加载网站而不重定向到newdomain.com。
有人能说出我在这里做错了什么,以及如何让301工作?
由于
答案 0 :(得分:2)
这有效:
<rule name="redirectDomain" stopProcessing="true">
<match url="(.*)" />
<action type="Redirect" url="http://www.newdomain.com/{R:1}" redirectType="Permanent" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^(www.)?olddomain\.com$" />
</conditions>
</rule>
答案 1 :(得分:0)
您也可以从IIS设置301永久重定向。
如果在旧服务器上启用了http重定向,则必须使用内容 -
添加新的Web配置<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpRedirect enabled="true" destination="http://mynewsite.com/" httpResponseStatus="Permanent" />
</system.webServer>
</configuration>
如果有帮助,请告诉我。