php专区

 首页 > php专区 > PHP应用 > 常用功能 > nginx与PHP的SERVER_NAME和HTTP_HOST详解 - php高级应用

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

分享到:
【字体:
导读:
          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怎么开启ssl?开启ssl的方法 - php高级...
php怎么开启ssl?开启ssl的方法 当访问启用SSL资源的时候,会出现\"did you forget to enable it when you configured PHP\"错误提示,从提示我们可以看出肯定是php.ini中没有配置好SSL模块。打开php.ini找到extension=php_openssl.dll,取消注释. 在PHP开启SSL的方法很简单,先找到php.ini文件,...
php 传值与传引用的区别详解 - php高级应...
php 传值与传引用的区别详解 在php中传值与传引用对于我们来讲是有比较大的区别的一个引用可以调用内存地址赋值了,这样只要内存地址中内容变化而赋值的变量也就变化了,付值只是把内存中值给其它变量而己. 传值: 函数参数压栈的是参数的副本. 任何的修改是在副本上作用.没有作用在原来的变...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……