我的php脚本有$ _SERVER ['HTTP_HOST']等于与我服务器的ip无关的ip。
有人得到了简单的解释吗?
(我以为某些机器人正在发送一个完全错误的主机头,但我不认为它可以连接到主机头错误的服务器= /)
THX
答案 0 :(得分:11)
HTTP_HOST
由客户端在HTTP请求的Host:
部分提供。它可以任意改变,虽然我不明白为什么会想要。请参阅the manual page。
请改用$_SERVER['SERVER_NAME']
。这由服务器本身定义。
答案 1 :(得分:3)
Host
标题与连接到Web服务器完全无关。连接后,Web服务器使用它将HTTP对话路由到特定的虚拟主机。可能是您的脚本所在的虚拟主机是默认虚拟主机,在这种情况下,如果HTTP会话与任何其他虚拟主机不匹配,则会将其路由到该主机。