我们在新服务器上建立了一个全新的网站,并使用了新域名。目前,我们在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 秒才能清除其缓存。