Php 重定向toUrl不工作(zf2)

Php 重定向toUrl不工作(zf2),php,zend-framework2,Php,Zend Framework2,我在Zend Framework 2中遇到重定向问题。 当用户输入类似http//mysite.test/lorem的url时,他将被重定向到http//mysite.test/news/view/lorem-ipsum 守则: $redirecttable = $sm->get('Redirect\Model\RedirectTable'); $route = $redirecttable->getRedirectByRoute($this->params()->fro

我在Zend Framework 2中遇到重定向问题。 当用户输入类似http//mysite.test/lorem的url时,他将被重定向到http//mysite.test/news/view/lorem-ipsum

守则:

$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() );

}
我在这里犯了愚蠢的错误吗?

使用
toRoute()
而不是
toul()


return$this->redirect()->toRoute($route->getToroute())
方法将重定向到一个完整的url,但您正在发送url的一部分。您可以使用
$this->redirect()->toRoute($route,$params)
重定向到路由

如果要使用
toUrl
方法,请尝试以下代码:

return $this->redirect()->toUrl( $this->getRequest()->getUri()->toString().$route->getToroute() );
toRoute()
不需要模型示例中指定的路由:
$this->redirect()->toRoute('news',array('action'=>'view')