我正在为域设置命名的虚拟主机配置,例如 www.examplesite.uk
以下哪个名称&别名定义会更好吗?有区别吗?我已经在网上看到了各种各样的例子。
ServerName www.examplesite.uk
ServerAlias examplesite.uk
或
ServerName examplesite.uk
ServerAlias www.examplesite.uk
或只是
ServerName www.examplesite.uk
谢谢。
答案 0 :(得分:1)
差别很小。如Documentation中所述,ServerName
显示了服务器用于标识自身的主机名和端口,而ServerAlias
给出了将请求匹配名称虚拟主机时使用的主机的备用名称。
在基于名称的虚拟主机中,主机名由请求的Host标头指定。
使用http://www.example.com打开网站会导致“ www.example.com”作为主机标题。 使用http://example.com会导致“ exmaple.com”作为主机标头。
因此,要涵盖这两种方式,通常的做法是:
ServerName example.com
ServerAlias www.example.com
如果您输入ServerName www.examplesite.uk
并且Host标头为'examplesite.uk',Apache将检查是否与其他VH匹配。如果没有,Apache将使用第一个VH。因此,您的最后一个选项可能无法检索您想要的网页。
您还可以检查:What is the difference between ServerName and ServerAlias in apache2 configuration?