>我正在为域设置命名虚拟主机配置,例如 www.examplesite.uk
以下哪个名称和别名定义更可取?有区别吗?我在网上看到了各种例子,这是双向的。
ServerName www.examplesite.uk
ServerAlias examplesite.uk
或
ServerName examplesite.uk
ServerAlias www.examplesite.uk
或者只是
ServerName www.examplesite.uk
谢谢。
区别是微妙的。如文档中所述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
并且主机标头为"examplesite.uk",则Apache将检查与其他VH的匹配项(如果有(。如果没有,Apache将使用第一个VH。因此,您的最后一个选项可能无法检索所需的网页。
您还可以检查:在 apache2 配置中,ServerName 和 ServerAlias 有什么区别?