PHP头位置:../Location vs$\u服务器[文档根]/Location

PHP头位置:../Location vs$\u服务器[文档根]/Location,php,redirect,header,location,Php,Redirect,Header,Location,所以,我做了一个简单的PHP登录,但当我尝试像这样重定向时: $path = $_SERVER["DOCUMENT_ROOT"]; header("Location: $path/admin/index.php"); 它似乎什么也没做,但在我刷新页面后,我就登录了。 在我将代码更改为以下内容后: header("Location: ../admin/index.php"); 它起作用了 有人能给我解释一下吗 对不起,我的英语不好 $_SERVER["DOCUMENT_ROOT"];

所以,我做了一个简单的PHP登录,但当我尝试像这样重定向时:

$path = $_SERVER["DOCUMENT_ROOT"];  
header("Location: $path/admin/index.php");
它似乎什么也没做,但在我刷新页面后,我就登录了。
在我将代码更改为以下内容后:

header("Location: ../admin/index.php");
它起作用了

有人能给我解释一下吗

对不起,我的英语不好

$_SERVER["DOCUMENT_ROOT"]; 
返回类似于
/var/www/html/yourfolder/
的路径,但必须重定向到
website.com/yourfolder/
localhost/yourfolder/

因此,这是行不通的

返回类似于
/var/www/html/yourfolder/
的路径,但必须重定向到
website.com/yourfolder/
localhost/yourfolder/


因此,这是行不通的。

您是否尝试过打印$path的值

$path的值相对于实际文件位置

e、 g.
$path='/c/inetpub/sites/example/main/'


您可能需要类似于
'/c/inetpub/sites/example/'
'/c/inetpub/sites/example/main/.

您是否尝试过打印$path的值

$path的值相对于实际文件位置

e、 g.
$path='/c/inetpub/sites/example/main/'


您可能想要类似于
'/c/inetpub/sites/example/'
'/c/inetpub/sites/example/main/.

的东西。头被发送到浏览器,因此它不是一个内部服务器操作。由于它不是一个内部重定向,所以不需要处理内部路径。使用
DOCUMENT\u ROOT
时,您将获得文件所在目录的内部服务器路径

如果要将站点的根目录作为URL引用,只需使用
/

header("Location: /admin/index.php");
header("Location: /"); # go to homepage, for example

您的
工作正常,因为您可能在一个子目录上,
被翻译到父目录,而父目录就是
admin
所在的位置。

头被发送到浏览器,因此它不是一个内部服务器操作。由于它不是一个内部重定向,所以不需要处理内部路径。使用
DOCUMENT\u ROOT
时,您将获得文件所在目录的内部服务器路径

如果要将站点的根目录作为URL引用,只需使用
/

header("Location: /admin/index.php");
header("Location: /"); # go to homepage, for example

您的
工作正常,因为您可能在一个子目录上,
被翻译到父目录,即
admin
所在的位置。

echo
$path/admin/index.php
并查看带有@sidyll注释的值,现在就有意义了。谢谢你。echo
$path/admin/index.php
并通过@sidyll的注释查看值,现在就有意义了。谢谢,“$path的值是相对于实际文件位置的。”不,
$path
是他的文档根,它是固定的。$path的值是相对于实际文件位置的。“不,
$path
是他的文档根,它是固定的。与任何事物都无关。