www.example.com。1800 IN CNAME example.com。
other.example.com.1800 IN CNAME example.com。
当所有条目指向完全相同的 DocumentRoot 时,Apache 中哪种方法是正确的?
下面的方法可行吗?
<VirtualHost *:80>
DocumentRoot "/some/place/"
ServerName example.com
</VirtualHost>
或者我应该为每个 CNAME 创建一个 VirtualHost 条目?
<VirtualHost *:80>
DocumentRoot "/some/place/"
ServerName example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/some/place/"
ServerName www.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/some/place/"
ServerName other.example.com
</VirtualHost>
答案1
第一种方法不可靠(仅当它是默认 VirtualHost 时)。
第二种方法可以工作,但会重复配置 - 通常这是您要避免的。
您可以使用ServerAlias
(http://httpd.apache.org/docs/2.2/mod/core.html#serveralias) 反而:
<VirtualHost *:80>
DocumentRoot "/some/place/"
ServerName example.com
ServerAlias www.example.com other.example.com
</VirtualHost>