CNAME 记录是否会覆盖 A 记录?

CNAME 记录是否会覆盖 A 记录?

我有几个这样的 A 记录:

Subdomain             IP Address
example.example.com   198.51.100.0
example.com           203.0.113.0

并且 CNAME 记录如下所示:

Alias              Destination
www.example.com    example.com

我想让 example.com 将 301 重定向到 www.example.com。

因此我将最后一条 A 记录更改为:

www.example.com       203.0.113.0

并交换 CNAME 记录中的两个 URL,如下所示:

example.com        www.example.com

问题:此更改是否会使 example.example.com 解析为 203.0.113.0 而不是 198.51.100.0?

答案1

如果您有 example.foo.com 的 A 记录,则任何其他域的 DNS 记录都不会影响它。所以答案是否定的。

其他需要注意的事实:

您不能为同一个完全限定域名同时拥有 CNAME 和 A 记录

CNAME 与 301 重定向不同。CNAME 将返回与新域名相同的 IP 地址。您的浏览器将转到该 IP 并请求原始域名。301 重定向将导致您的浏览器对新域名进行 DNS 查找,然后请求新域名。

答案2

就像 avery 和 karol 的评论中所说的那样,你不会想在 DNS 中执行此操作。在不同的配置中,有不同的方法可以做到这一点

如果你有 htaccess:

Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]

简单在谷歌上搜索 301 重定向就会显示许多不同的方法。

答案3

如果您想让 HTTP 服务器发送状态为 301 的 HTTP 响应,那么就这样做吧。更改 DNS 条目并不是在 HTTP 服务器中实现重定向的方法。

相关内容