2014-12-02 94 views
1

我有一个PHP Web应用程序与Silex。在某个url中,我需要知道该页面是否被重定向,如果是,则从哪个url重定向。我试过$request->headers->get('referer')),但它始终有一个值,即使通过点击另一个页面触发请求。我试图用“URL界面”来回重定向这样的:如何知道这个请求是否由Silex中的重定向触发?

$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'))返回第一个url,而不是/redirct

那么我怎么能知道请求是否被重定向触发,如果是的话,是从哪个url重定向?

回答

1

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

根据您试图达到的目标,您也可能会在forwarding之间进行交流,而不是重定向。

相关问题