网站地图    收藏   

主页 > php专栏 > php应用 >

nginx与PHP的SERVER_NAME和HTTP_HOST详解 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个...

nginx与PHP的SERVER_NAME和HTTP_HOST详解

ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个.

例子代码如下:

server_name   www.phpfensi.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"],保险,可靠.

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论