如果我的文件位于 "Project/index.php"
上的文件,这是我希望用户在文件结构中的何处重定向的地方。
我有两个具有不同文件路径的文件:
"Project/file1.php"
"Project/sub/file2.php"
在两个文件上,用户可以单击注销,将其带到注销页面。注销页面位于这里:"Project/sub/logout.php"
其中包含代码:
header('Location: ../index.php');
die();
如果用户在file2上,则此脚本将起作用,但是如果用户在file1上,则脚本将无法正常工作。
是否有一种方法可以允许用户在文件结构中何处注销而无需创建多个注销页面?
您需要使用相对于项目DOCUMENT_ROOT
的路径。
header('Location: /Project/index.php');
exit;
替代,如果您的服务器设置为自动serve index.php
的权利,则执行此操作:
header('Location: /');
exit;
您可以对此使用绝对URL:
header('Location: http://my.site/logout');
或您可以使用相对于您的网站使用URL:
header('Location: /logout');
两个代码样本将重定向到同一页面。
为什么不使用绝对路径?
$path = $_SERVER['DOCUMENT_ROOT'] . "/yourpath/yourfile.php";
header("Location:" . $path);