ServerName 指令
说明 服务器用于辨识自己的主机名和端口号
语法 ServerName fully-qualified-domain-name[:port]
作用域 server config, virtual host
状态 核心(C)
模块 core
兼容性 在2.0版中,这个指令代替了1.3版的Port指令的功能

ServerName指令设置了服务器用于辨识自己的主机名和端口号。这主要用于创建重定向URL。比如,一个放置web服务器的主机名为simple.example.com ,但同时有一个DNS别名www.example.com 。而您希望web服务器更显著一点,您可以使用如下的指令:

ServerName www.example.com:80

当没有指定ServerName时,服务器会尝试对IP地址进行反向查询来推断主机名。如果在ServerName中没有指定端口号,服务器会使用接受请求的那个端口。为了加强可靠性和可预测性,您应该使用ServerName显式的指定一个主机名和端口号。

如果使用的是基于域名的虚拟主机,在<VirtualHost>段中的ServerName将是为了匹配这个虚拟主机,在"Host:"请求头中必须出现的主机名。

参见UseCanonicalName和UseCanonicalPhysicalPort指令以获得关于自引用URL(比如使用mod_dir模块)是需要指定一个特定端口,还是使用客户端请求的端口号的更详细的信息。