从旧网站重定向到不同文件夹的新网站

从旧网站重定向到不同文件夹的新网站

我想将来自 URL 主机 www.hostname1.com(包括所有子目录 www.hostname1.com/....)的所有请求重定向到具有不同主机的不同 URL www.newHost.com。我已经在 DNS 中进行了更改,但我想知道我应该在托管 www.newHost.com 的服务器上进行哪些更改,以便重定向并在浏览器上显示新的 URL。

我查看了 IIS。在 www.newHost.com 的配置下,我可以将 www.hostname1.com 绑定到与 www.newHost.com 相同的 IP,但这仅适用于 www.hostname1.com 的主页,并且不会重写浏览器窗口中的 url 地址。

请告知如何进行此更改。

答案1

在新服务器上,在 www.hostname1.com 站点(您在新服务器上创建的用于在 DNS 更改后捕获到旧站点的流量的站点)下,将其用作您的整个 web.config 文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="301 redirect entire site" stopProcessing="true">
                    <match url="^(.*)$" />
                    <action type="Redirect" redirectType="Permanent" url="http://www.newhost.com/{R:1}" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

这将创建一个重写规则,抓取 URL 的整个内容(在http://www.hostname1.com/),则将“http://www.newhost.com/“在它前面加上任何查询字符串,然后将浏览器重定向到该 URL。这是一个 301 重定向(永久的),所以它应该是 SEO 安全的,这样 Google 就不会惩罚你的排名。我还没有测试过这个,但我认为它应该对你有用。

答案2

您可以在 IIS 根目录中创建一个 htaccess 文件并实现此重定向

IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.olddomain.com$ RewriteRule (.*)$http://www.newdomain.com/1 美元 [右=301,左]

这会将您的所有流量引导至新域名。

相关内容