将旧 URL 重定向到新 URL 并关闭旧 Web 服务器

将旧 URL 重定向到新 URL 并关闭旧 Web 服务器

我们在新服务器上建立了一个全新的网站,并使用了新域名。目前,我们在httpd.conf旧服务器中使用以下行将访问旧网站的用户重定向到新网站:

Redirect permanent / http://newsite

可能在某个时候旧服务器将不再需要,并将被关闭。因此,据我了解,旧域名需要使用 DNS 重定向到新网站。

是否只需更新旧域名的 DNS 记录以指向新 IP 即可?新 Web 服务器会正​​确响应吗?是否应该在新服务器上进行某些配置以使此解决方案有效?

答案1

是的,一旦您更改 DNS,重定向就会起作用,但新服务器也必须知道旧域名;如果使用 apache,您需要ServerAlias olddomain在您的VirtualHost部分中添加,以便新服务器知道如何处理对旧域名的请求。其他 Web 服务器也存在类似的指令。

或者,您可以在新服务器上为旧域名创建专用域名VirtualHost,以重定向到新域名;出于 SEO 目的,最好始终使用单个域名。

这两个操作可以立即完成,无需等待 DNS 更改。

答案2

是的,这可行。但是,任何通过深层链接访问旧网站 ( http://oldsite/pages/whatever) 的人都可能会遇到404 Not Found错误。

我要做的就是在您的新 Web 服务器上使用旧域名创建一个虚拟主机,然后像现在一样将其重定向。

答案3

请注意,当您更改 DNS 名称时,由于 DNS TTL,更改可能需要一些时间才能生效。

您应该找出旧服务器名称的 TTL 是多少。假设它是 86400 秒(24 小时 - 这是一个常见值)。

然后,在您计划进行移动前至少 24 小时,您需要将 ttl 从 86400 更改为更低的值,例如 300 秒(5 分钟)。

这意味着当您进行更改时,最多只需 5 分钟即可传播到遵守规则的 DNS 服务器。

基本上,无论 TTL 是多少,旧服务器名称的旧 IP 都可以缓存在网络周围的 DNS 服务器上。因此,如果更改旧服务器名称 IP 时 TTL 为 86400,则网络周围的各种 DNS 服务器可能需要最多 86400 秒才能清除其缓存。

相关内容