Nginx中server_name先后顺序的影响

发布于 2015-10-07 作者 [重庆SEO]

我昨天将lamp切换到lnmp后,有个程序模块$_SERVER["SERVER_NAME"]今天发现出问题了,虽然凭经验和直觉解决了。但还是GOOGLE了一下并验证我的判断是正确的,所以说经验能提供一定的判断力。具体如下:

在一个Nginx虚拟主机中,可以绑定多个server_name,比如:

server_name www.seonoco.com seonoco.com;
而server_name的先后顺序的不同,对PHP程序中使用$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')获取服务器域名是有影响的:

$_SERVER["SERVER_NAME"]或getenv('SERVER_NAME')获取的始终将是Nginx的server_name配置中的第一个域名,这一点在程序开发中需要注意。这第一个域名就相当于Apache虚拟主机配置中的ServerName,后面 的域名就相当于Apache的ServerAlias。