*.mydomain.com 指向此目录 /home/mydirectory 因此如果我输入:
foo.mydomain.com 或 bar.mydomain.com 指向 /home/mydirectory
在另一个域名中我将 CNAME 设置为:www.otherdomain。-> foo.mydomain.com。
但是 www.otherdomain.com 指向网站根目录 /var/www 并注意 /home/mydirectory
答案1
看起来您对几种技术以及它们如何相互作用感到困惑。
A别名记录是DNS 资源记录指向另一个 DNS RR。这通常用于将主机名指向另一个主机名,例如
www.otherdomain.com. CNAME foo.mydomain.com.
foo.mydomain.com. A 192.0.2.23
当有人在浏览器中输入 www.otherdomain.com 时,DNS 解析器将提供地址 192.0.2.23。
当浏览器联系 192.0.2.23:80 的服务器时,它提供的部分信息是http 主机头在你的情况下
Host: www.otherdomain.com
此主机标头由 Apache 内部使用,以确定它应提供什么服务。Apache 将尝试将主机标头中的名称与其列表进行匹配服务器名称和服务器别名。
ServerName 和 SeverAlias 列表将按照配置文件中定义的顺序进行检查。第一个匹配的 vhost ServerName 或 ServerAlias 的内容将被提供。
如果未找到匹配项,则将提供定义的第一个 vhost 的内容,因为这被视为默认 vhost。
不完全确定您的期望是什么,但希望以上信息能够帮助您找出问题所在。
答案2
您仍需要配置 Apache 以路由主机名请求。您需要告诉它“www.otherdomain.com”位于何处。Apache 怎么可能知道您通过 CNAME 将其连接到另一台主机?