上面的Header()和目录

时间:2013-01-25 14:49:32

标签: php header

  

可能重复:
  PHP How to header-location to a page in a parent directory?

函数header()找不到上面的目录。

$link = "../hide/success-registr.phtml";
header("Location: $link");

它的路径和文件存在。

3 个答案:

答案 0 :(得分:1)

您需要提供绝对网址,例如:

$link = "http://www.mydomain.tld/public/success-registr.phtml";
header("Location: $link");

注意:浏览器将请求提供的URL,因此无法使用“隐藏”页面/响应。

答案 1 :(得分:0)

来自php.net

  

HTTP / 1.1需要绝对URI作为»Location的参数:包括方案,主机名和绝对路径,但有些客户端接受相对URI。

始终建议使用带有header()Location的绝对路径(完整uri)。

有时相对路径会起作用,但肯定不会上升到目录结构中的某个级别,除非你在将它作为参数传递之前对路径进行一些操作。

答案 2 :(得分:-3)

你可以尝试

$link = realpath('../hide/success-registr.phtml');
$rootPath = 'some/root/path';

$link = str_replace($rootPath, 'http://', $link);