DNS:CNAME 以在子域上启用 www

DNS: CNAME to enable www on subdomains

我目前有一个域 example.com 和一个子域 sub.example.com。我想做的是让它们可以通过 www,即 www.example.comwww.sub.example.com 访问。记录看起来像这样(这里使用 Namecheap 所以不编辑原始区域文件)

Type   Host          Value
A      @             <ip-addr>
A      sub           <ip-addr>
CNAME  www           example.com.
CNAME  www           sub.example.com.

虽然可以访问 example.comsub.example.comwww.example.com,但不能访问 www.sub.example.com,我做错了什么?

看看这个文档https://www.namecheap.com/support/knowledgebase/article.aspx/9776/2237/how-do-i-create-a-subdomain-for-my-domain

我认为 CNAME 记录应该是 'sub.domain' 而不是 'sub'。

你需要:

CNAME  www.sub           example.com.

解释:

(因为域是 example.com,它将附加到任何不以 . 结尾的 Host

A @ <ip-addr> 表示 example.com=<ip-addr>

A sub <ip-addr>表示sub.example.com=<ip-addr>

CNAME www example.com.表示www.example.com=example.com
(结果www.example.com=<ip-addr>

CNAME www sub.example.com.表示www.example.com=sub.example.com
(再次导致www.example.com=<ip-addr>,所以这最后一个明显多余,可以去掉)

因此,您没有在任何地方定义 www.sub.example.com,并且其中任何一个都可以工作:

CNAME  www.sub           example.com.
CNAME  www.sub           sub.example.com.
CNAME  www.sub           www.example.com.
A      www.sub           <ip-addr>