Table of Contents
通常情况下返回值一致
如果网站为1.cn,通常情况下$SERVER[‘HTTP_HOST’]与$SERVER[‘SERVER_NAME’]均返回同样结果:1.cn
先给出结论:
当满足以下3个条件的时候,两者会输出相同的信息
A、服务器端口号为80
B、Apache中的conf中的ServerName设置正确
C、HTTP/1.1协议规范
端口号不同,返回值不一样
假如1个网站在8080端口,1个网站在80端口,返回值:
$_SERVER[‘HTTP_HOST’]会输出端口号,例如“1.cn:8080”
$_SERVER[‘SERVER_NAME’]直接输出ServerName的值,例如“1.cn”
服务器有别名则不同
假如服务器有别名,例如:
<virtualhost *>
ServerName funwall.cn
ServerAlias www.funwall.cn
</virtualhost>
客户端访问域名:www.funwall.cn
$_SERVER[HTTP_HOST]输出:www.funwall.cn
$_SERVER[SERVER_NAME]输出:funwall.cn (!注意:这里显示的是服务器真实域名而非域名别名)