Apache-2.2
CNAME 指向同一個 DocumentRoot 是否需要 VirtualHost 條目?
www.example.com。1800 在 CNAME example.com 中。
其他.example.com。1800 在 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>
您的第一種方法不可靠(僅當它是預設的 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>