PHP App in Google App Engine中,如何检测传入重定向的url?

时间:2017-02-16 23:10:11

标签: php google-app-engine url url-redirection

我不确定这是否可行,但我们想知道我们是否可以检测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');

这可能吗?

2 个答案:

答案 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。

这可能不是最好的方法,但它起作用,如果任何人可以改善这一点,我很乐意从中学习。