萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> nginx與PHP的SERVER_NAME和HTTP_HOST詳解

nginx與PHP的SERVER_NAME和HTTP_HOST詳解

下面我們一起來看看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.111cn.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"],保險,可靠!

copyright © 萬盛學電腦網 all rights reserved