nginx与PHP的SERVER_NAME和HTTP_HOST详解
ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个。
例子
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy4346')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy4346>server_name www.jiaochengji.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"],保险,可靠!
您可能感兴趣的文章:
nginx与PHP的SERVER_NAME和HTTP_HOST详解
HTTP_HOST和SERVER_NAME的区别
PHP $_SERVER["SERVER_NAME"]与 $_SERVER['HTTP_HOST'] 区别
php的$_SERVER参数详解(附实例)
PHP与nginx之间运行机制及其原理的详细介绍
PHP与nginx之间的运行机制及其原理
PHP-FPM与Nginx的通信机制总结
php 获取完整url地址实例详解
php怎么get网址
php 获取当前页面地址