nginx与PHP的SERVER_NAME和HTTP_HOST详解
程序员文章站
2022-04-18 15:13:40
...
ERVER_NAME对应Nginx配置文件中的server_name,通过fastcgi_param设置,如域名指向到IP而不在nginx中设置对应的server_name,PHP取SERVER_NAME为空,如果有多个server_name,取第一个.
例子代码如下:
server_name www.phprm.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项目中商店mvc框架总结(1)
下一篇: php堆排序实现原理与应用程序代码
推荐阅读
-
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
-
HTTP_HOST 和 SERVER_NAME 的区别详解
-
PHP-FPM和Nginx的通信机制详解
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
-
Mac下安装与配置nginx php7.1,apache和nginx解析PHP的原理
-
详解Nginx 和 PHP 的两种部署方式的对比
-
Windows和Linux中php代码调试工具Xdebug的安装与配置详解
-
详解Nginx防盗链和Nginx访问控制与Nginx解析php的配置
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解_PHP
-
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解_PHP