我有一个使用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重定向?
答案 0 :(得分:1)
记住您的示例,您可以将url作为GET参数发送,并检查请求,而不是检查引用者。另一种方法是在执行重定向之前将URL存储在会话中,然后检查您期望的路径中的会话。
根据您要实现的目标,您可能也会参与forwarding而不是重定向。