加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zz.com.cn/)- 语音技术、视频终端、数据开发、人脸识别、智能机器人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

nginx和PHP的SERVERNAME和HTTPHOST详解

发布时间:2023-11-07 11:01:35 所属栏目:PHP教程 来源:未知
导读:   ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个。
  ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个。
 
  例子
 
   代码如下
 
  1 server_name   www.111com.net;
 
  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"],保险,可靠!
 

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章