重定向到网址不起作用 (zf2)



我在Zend Framework 2中的重定向有问题。当用户输入像http//mysite.test/lorem这样的URL时,他将被重定向到http//mysite.test/news/view/lorem-ipsum。

代码:

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

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

toUrl 方法重定向到完整的网址,但您发送的是部分网址。您可以使用$this->redirect()->toRoute($route,$params)重定向到路由。参考

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

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

使用 toRoute() 而不是 toUrl()

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

最新更新