PHP标头位置绝对URL

时间:2014-08-19 19:27:37

标签: php

我遇到了一个问题,即标题位置设置的绝对路径不起作用,但指向文件本身。这只影响了一些客户。其中一个很好,可以尝试通过VPN连接,使标头位置工作。

没有工作:

header('Location: http://www.example.com' . $_SERVER['PHP_SELF']);

使用:

header('Location: ' . $_SERVER['PHP_SELF']);

任何人都可以对此有所了解吗?

由于

1 个答案:

答案 0 :(得分:1)

由于某种原因,您受影响的客户无法解析http://www.example.com(或其实际的任何内容)网址。您只需尝试通过在浏览器位置栏中手动输入http://www.example.com来访问http://www.example.com即可验证这一点。那也应该失败。

如果您的网站在多个域下可用,或者直接由IP地址提供,则可能会发生这种情况。甚至www /非www版本都可以实现这一点。他们在一个域或IP地址上访问该站点,然后您尝试将它们重定向到他们无法解析的URL。这解释了为什么重定向到只是路径的工作原理,但是绝对的URL没有。

如果他们可以在浏览器中<{3}},而不是通过重定向,请让他们吹掉浏览器缓存。