2014-12-02 55 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之間進行交流,而不是重定向。

相關問題