使用 CNAME 记录将子域名重定向到另一个网站?

使用 CNAME 记录将子域名重定向到另一个网站?

根据我目前的理解,我可以使用 CNAME 记录将用户重定向到另一个域。例如,我拥有“mydomain.com”。当用户访问“keep.mydomain.com”时,他们应该被重定向到“keep.google.com”。

我的 DNS 记录集中当前有以下记录:名称:keep.mydomain.com 类型:CNAME 值:https://keep.google.com/ TTL:300毫秒

该子域名下没有其他记录,但是其他域名/子域名下有 MX、A、NS、SOA、TXT 和其他 CNAME 记录,这些记录可以正常工作。但是,当我访问“keep.mydomain.com”时,出现错误:

This site can’t be reached
keep.mydomain.ca’s server DNS address could not be found.
ERR_NAME_NOT_RESOLVED

我是否误解了 CNAME 的使用,或者我配置了某些有冲突的东西?

答案1

CNAMES 不是重定向,而是别名。CNAME 还包括所有其他资源记录,例如 A、MX、TXT。

因此如果您查询 A 记录,cname 将把您发送到其别名的 A 记录。

许多注册商提供附加选项,例如重定向服务、godaddy 和 Google。

另外,输入 CNAMES 的值时要小心,有些系统假设终止期限,有些则不然。

假设域名为 example.com

test IN CNAME example.org

测试结果解析为不存在的主机 example.org.example.com 的 IP。

test IN CNAME example.org.

测试结果解析为确实存在的主机 example.org 的 IP。

CNAME 值只能是 HOSTS,而不能是 URL。

dig A keep.richardyang.ca @8.8.8.8
keep.richardyang.ca.    299     IN      CNAME   https://keep.google.com/.

将其更改为

keep.richardyang.ca.    299     IN      CNAME   keep.google.com.

也许可以看看https://stackoverflow.com/questions/10115799/set-up-dns-based-url-forwarding-in-amazon-route53

有关如何将合成记录与 Google.com 域结合使用的示例。

保持纪录

;; ANSWER SECTION:
keep.jacobdevans.com.   3600    IN      CNAME   ghs.googlehosted.com.
ghs.googlehosted.com.   163     IN      A       173.194.207.121

这会将我的请求发送到谷歌的服务器,然后谷歌向新的网址发送一个 302 代码,我选择了 302,如果你想让 SEO 知道这是一个永久性的改变,你会想要 301,我可能想在以后切换我的目的地,因为我使用它作为我的签名链接以确保我的联系信息保持最新。

或者,由于您已经有了一个网站,请将域名指向那里并重定向该网站。

脚本:

<script type="text/javascript">
if (window.location.href== "http://keep.richardyang.ca") {
   window.location.href = 'http://keep.google.com'; 
}
</script>

DNS:

keep.richardyang.ca.    299     IN      CNAME   richardyang.ca.

相关内容