Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向用户可变位置路径_Php - Fatal编程技术网

Php 重定向用户可变位置路径

Php 重定向用户可变位置路径,php,Php,如果我有一个位于“Project/index.php”的文件,我希望我的用户在该文件结构中的任何位置都能被重定向 我有两个具有不同文件路径的文件: "Project/file1.php" "Project/sub/file2.php" 在这两个文件上,用户可以单击注销,这会将他们带到注销页面。 注销页面位于此处:“Project/sub/logout.php” 其中包含以下代码: header('Location: ../index.php'); die(); 如果用户在文件2上,则此脚本

如果我有一个位于
“Project/index.php”
的文件,我希望我的用户在该文件结构中的任何位置都能被重定向

我有两个具有不同文件路径的文件:

"Project/file1.php"

"Project/sub/file2.php"
在这两个文件上,用户可以单击注销,这会将他们带到注销页面。 注销页面位于此处:
“Project/sub/logout.php”
其中包含以下代码:

header('Location: ../index.php');
die();
如果用户在文件2上,则此脚本可以工作;但是,如果用户在文件1上,则脚本无法工作


是否有一种方法允许用户在不必创建多个注销页面的情况下,无论他们位于文件结构的何处都可以注销?

您可以使用绝对URL:

header('Location: http://my.site/logout');
或者,您可以使用与您的站点相关的URL:

header('Location: /logout');

两个代码示例将重定向到同一页面。

您可以使用绝对URL:

header('Location: http://my.site/logout');
或者,您可以使用与您的站点相关的URL:

header('Location: /logout');

两个代码示例将重定向到同一页面。

您需要使用相对于项目的
文档根的路径

header('Location: /Project/index.php');
exit;
或者,如果您的服务器设置为自动服务
index.php
,则执行以下操作:

header('Location: /');
exit;

您需要使用相对于项目的
文档根的路径

header('Location: /Project/index.php');
exit;
或者,如果您的服务器设置为自动服务
index.php
,则执行以下操作:

header('Location: /');
exit;

为什么不使用绝对路径

$path = $_SERVER['DOCUMENT_ROOT'] . "/yourpath/yourfile.php";
header("Location:" . $path);

为什么不使用绝对路径

$path = $_SERVER['DOCUMENT_ROOT'] . "/yourpath/yourfile.php";
header("Location:" . $path);