我不确定这是否可行,但我们想知道我们是否可以检测header('Location: ')
启动的网址。
我有几个带header('Location: /main.php')
的脚本,现在当执行main.php时,我想找出重定向从哪个脚本或URL开始。
script.php
header('Location: /main.php');
main.php
//detect the source url.. ie /script.php or website.com/script.php
// do some action
header('location: /script.php');
这可能吗?
答案 0 :(得分:0)
我认为你可以在main.php上使用这样的东西。
$referer = $_SERVER["HTTP_REFERER"];
答案 1 :(得分:0)
我使用以下代码为我工作
script.php
$document = $_SERVER['REQUEST_URI'];
$host = $_SERVER['HTTP_HOST'];
$fullPath = $host.$document;
setcookie('referer', $fullPath,time()+86400); // cookie is destroyed on redirect
header('Location: /main.php?referer='.$fullPath);
,另一个如下
main.php
$referer = $_REQUEST['referer'];
if($referer != null){
header("location: http://".urldecode($referer));
}
我设置的cookie在执行main.php
时被删除,因此我不得不通过POST发送信息。
此外,我不得不在$ referrer上使用urldecode。
这可能不是最好的方法,但它起作用,如果任何人可以改善这一点,我很乐意从中学习。