最近在设置域名时遇到一些问题,上网查了下,发现很多人对CNAME记录认识不清楚,很多论坛包括一些人的回答也是含糊不清,我也是花了很多时间才算是弄清楚,在些想和大家分享下,以免以后有类似问题的再有困惑!

CNAME记录也称别名记录,通俗一点说就是一个IP地址的另一个名字,通过除原域名之外的另一个域名或子域名来访问原来的网站。注意!CNAME记录指向的域名或者子域名必须有相应的A记录!!!这是问题的关键!!很多人的问题其实是想用CNAME实现转发的功能。有些人回答说可以;有些人回答说不可以,转发只能用URL转发实现。。。其实可以不可以就在于你CNAME到的那个域名或子域名有没有A记录,有A记录当然可以,没有就不行。当然严格来说有A记录也不能保证正确访问你的网站,如果你的网站是独立IP主机的话没问题,如果是虚拟主机,问题又来了,一般虚拟主机是在空间提供商这边进行域名绑定然后做A记录到虚拟主机IP,如果你只绑定了原来的域名,没有绑定CNAME添加的域名,CNAME只会解析到你虚拟主机的IP地址的,这样还是不能实现访问!!!以下是DNSPOD对CNAME的解释,个人认为很准确。

什么情况下会用到CNAME记录?

[如果需要将域名指向另一个域名,再由另一个域名提供ip地址,就需要添加CNAME记录]
简而言之,CNAME就是在解析时先解析为你指向域名的IP地址(即相应的A记录)然后再通过这个IP地址访问!

所以如果有朋友想实现跳转,一般还是需要用URL转发。

还有一点很重要,就是CNAME指向的只能是“域名”,不是IP地址,也不是URL。所以不能包含http:// ,更不能包含“/”。而设置URL转发时填写的是URL。记录值为必须为完整的地址(必须带有协议、域名,可以包含端口号和资源定位符)!

以下是Godaddy对CNAME记录的解释,也明确指明CNAME指向的域名或子域名要有A记录存在!!!

CNAME records (also known as alias records) point a subdomain to an existing A (host) record so that the domain points to the appropriate IP address.