2014-01-06 84 views
0

我在Zend Framework 2中有一個重定向問題。 當用戶輸入像http // mysite.test/lorem這樣的url時,他將被重定向到http // mysite。測試/新聞/瀏覽/ LOREM-存有。重定向到UI不起作用(zf2)

代碼:

$redirecttable = $sm->get('Redirect\Model\RedirectTable'); 
$route = $redirecttable->getRedirectByRoute($this->params()->fromRoute('page')); 
if($route) { 
    // $route->getToroute() returns "news/view/Lorem-Ipsum" 
    return $this->redirect()->toUrl($route->getToroute()); 

} 

我在這裏做一個愚蠢的錯誤?

回答

2

toUrl方法重定向到一個完整的URL,但是你發送URL的一部分。您可以使用$this->redirect()->toRoute($route,$params)重定向到路線。 reference

如果你想使用toUrl方法,試試這個代碼:

return $this->redirect()->toUrl($this->getRequest()->getUri()->toString().$route->getToroute()); 
0

使用toRoute()代替toUrl()

return $this->redirect()->toRoute($route->getToroute())

+0

不'toRoute()'需要在模型實例指定的路線:'$這個 - >重定向() - > toRoute('news',array('action'=>'view'));'? –