2

我在 IIS 上运行一个小型 ASP.NET4 网站。我最近将域名从“olddomain.com”更改为“newdomain.com”。更改是通过 Plesk 进行的。进行更改后,我在 plesk 中添加了“olddomain.com”作为域别名,这样流量仍会路由到旧域上的网站。

到目前为止这很好。该网站解析旧 URL 和新 URL。

但是,现在我想在任何地方设置 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 工作?

谢谢

4

2 回答 2

3

这有效:

<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>
于 2013-07-23T10:25:20.883 回答
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>

让我知道它是否有帮助。

于 2013-07-02T12:55:11.207 回答