2014-01-06 52 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'));'? –