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

Php 如何知道此请求是否由Silex中的重定向触发?,php,redirect,silex,Php,Redirect,Silex,我有一个带有Silex的PHP web应用程序。在一个特定的url中,我需要知道页面是否被重定向,如果是,从哪个url重定向。我尝试了$request->headers->get('referer')),但它总是有一个值,即使是通过单击另一个页面触发请求时也是如此。我尝试使用“url接口”进行重定向,如下所示: $app->get('/redirect/{url}', function (\Silex\Application $app, $url) { $url=str_repla

我有一个带有Silex的PHP web应用程序。在一个特定的url中,我需要知道页面是否被重定向,如果是,从哪个url重定向。我尝试了
$request->headers->get('referer'))
,但它总是有一个值,即使是通过单击另一个页面触发请求时也是如此。我尝试使用“url接口”进行重定向,如下所示:

$app->get('/redirect/{url}', function (\Silex\Application $app, $url) {
    $url=str_replace("!","/",$url);
    return $app->redirect($url,302);
});
例如,将我的重定向改为
/sell/insert
,将重定向改为
/redirect/!卖插入
。但是这次
$request->headers->get('referer')
返回第一个url,而不是
/redirct


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

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

根据你想要实现的目标,你可能也会对重定向感兴趣,而不是重定向