虚拟主机是否应该使用裸域作为ServerName?

example.com设置虚拟主机,并希望将www.example.com用作我的首选时,是否使用以下标准实践:

 <VirtualHost *:80> ServerName example.com ServerAlias www.example.com # ... </VirtualHost> 

…其中我的首选域名是别名?

如果我要切换ServerNameServerAlias的值,这是否重要? 据我所知,它们是可以互换的(除了你可以指定多个服务器别名)。

据我所知,切换ServerNameServerAlias的值通常不会影响您的网站的运作方式。

正如手册中提到的, 只有当 UseCanonicalName设置为非默认值时 ,您才会看到在创build自引用redirectURL时使用的ServerName的值(而不是用于访问您的网站的任何URL)。
例如,如果用户键入ServerAlias主机名和URL(如http://www.example.com/splat (不带尾部斜线),则会看到自引用redirectURL,则Apache httpd将redirect他们到http://example.com/splat/

否则,只会在apachectl -S的输出中看到ServerName指令的值,而在错误消息中,作为友好错误消息的标准模板包含来自include/bottom.html的ServerName来自定义它们:

标题:404没有find

未find

在此服务器上找不到请求的URL / some / page。


Apache / 2.2.15(CentOS)服务器在example.com端口80


有一些有效的技术参数可以使用www.example.com ,您可能需要这样做:

 <VirtualHost *:80> ServerName example.com Redirect permanent / www.example.com </VirtualHost> <VirtualHost *:80> ServerName www.example.com ServerAlias www.example.org www.example.net # ... </VirtualHost>