ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个. 例子代码如下: server_name www.vcphp.com; fastcgi_param SERVER_NAME $server_name; HTTP_HOST包含在HTTP请求信息中,即请求的域名或IP,Nginx内为host. HTTP_HOST 和 SERVER_NAME 的区别: 一:相同时满足以下三个条件: 1.服务器端口默认80 2.apache或nginx中ServerName设置正确 3.HTTP/1.1协议规范 二:不同点: $_SERVER['HTTP_HOST']会根据客户端HTTP请求输出信息 $_SERVER['SERVER_NANE']会根据apache或nginx的配置文件中的ServerName值 当端口不为80时: $_SERVER['HTTP_HOST']输出中会带有端口号 $_SERVER['SERVER_NAME']只会直接输出ServerName的值 所以,应尽量使用$_SERVER["HTTP_HOST"],保险,可靠. (责任编辑:admin) |