我有几个这样的 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 服务器中实现重定向的方法。