如何知道Silex中的重定向是否触发了此请求?

时间:2014-12-02 10:24:39

标签: php redirect silex

我有一个使用Silex的PHP Web应用程序。在某个网址中,我需要知道页面是否被重定向,如果是,则从哪个网址重定向。我尝试$request->headers->get('referer'))但它总是有一个值,即使通过点击另一个页面触发请求也是如此。我尝试使用“url interface”重定向,如下所示:

$app->get('/redirect/{url}', function (\Silex\Application $app, $url) {
    $url=str_replace("!","/",$url);
    return $app->redirect($url,302);
});

并且例如将我的重定向更改为/sell/insert重定向到/redirect/!sell!insert。但是这次$request->headers->get('referer'))会返回第一个网址,而不是/redirct

那么如何知道请求是否由重定向触发,如果是,则从哪个url重定向?

1 个答案:

答案 0 :(得分:1)

记住您的示例,您可以将url作为GET参数发送,并检查请求,而不是检查引用者。另一种方法是在执行重定向之前将URL存储在会话中,然后检查您期望的路径中的会话。

根据您要实现的目标,您可能也会参与forwarding而不是重定向。