情節:
在我的網站上實施的ACL,如果用戶試圖訪問未經授權的頁面,他將被拒絕,並顯示一個頁面登錄後。登錄後,我想將用戶重定向到之前被拒絕的上一頁。
爲此,我使用$request -> getParams()
將請求參數存儲到會話變量中,該變量將用於再次生成URL。 這就是問題時,生成的URL後面,我需要路由的名稱和我不知道如何閱讀。
我需要知道路線名字,這樣我就可以重新生成URL,從存儲在會話中的陣列,或是否有解決這個更好的方法,請建議。
情節:
在我的網站上實施的ACL,如果用戶試圖訪問未經授權的頁面,他將被拒絕,並顯示一個頁面登錄後。登錄後,我想將用戶重定向到之前被拒絕的上一頁。
爲此,我使用$request -> getParams()
將請求參數存儲到會話變量中,該變量將用於再次生成URL。 這就是問題時,生成的URL後面,我需要路由的名稱和我不知道如何閱讀。
我需要知道路線名字,這樣我就可以重新生成URL,從存儲在會話中的陣列,或是否有解決這個更好的方法,請建議。
爲什麼不只是存儲$request->getRequestUri()
?這會爲您提供瀏覽器中顯示的網址。
不要試圖去思考簡單問題複雜的解決方案。
你可以做到這一點,只需使用$_SERVER['REQUEST_URI']
,這給出了@菲爾的答案(糾正我,如果我失去了一些東西)相同的結果。並且足夠做你想做的事情。
使用'的Zend_Controller_Request_Http :: getRequestUri()'處理各種Web服務器之間的差異,使得腳本更加便攜。 – Phil
這已經在這裏找到答案:http://stackoverflow.com/questions/1373573/how-to-get-the-dispatched-route-name-in-zend-framework](http://stackoverflow.com /問題/ 1373573 /如何到獲得最派遣路由名合的Zend框架) –