2. 当服务器为非80端口时: _SERVER[HTTP_HOST] 会输出端口号,例如:www.mrhong.net:8080 _SERVER[SERVER_NAME] 会直接输出ServerName值 因此在这种情况下,可以理解为:HTTP_HOST = SERVER_NAME : SERVER_PORT 3.
2. 当服务器为非80端口时:
_SERVER["HTTP_HOST"] 会输出端口号,例如:www.mrhong.net:8080
_SERVER["SERVER_NAME"] 会直接输出ServerName值
因此在这种情况下,可以理解为:HTTP_HOST = SERVER_NAME : SERVER_PORT
3. 当配置文件httpd.conf中的ServerName与HTTP/1.0请求的域名不一致时:
httpd.conf配置如下:
ServerName mimiz.cn
ServerAlias www.mrhong.net
客户端访问域名www.mrhong.net
_SERVER["HTTP_HOST"] 输出 www.mrhong.net
_SERVER["SERVER_NAME"] 输出 www.mrhong.net
所以,在实际程序中,应尽量使用_SERVER["HTTP_HOST"] ,比较保险和可靠。
如果在端口映射的情况下,并且在内网访问,用“$_SERVER['HTTP_X_FORWARDED_HOST']”比较好。