Zend框架 - 重定向到路由方向(Zend Framework - Redirect to rou

2019-10-17 22:40发布

我有一个小问题,PHP Zend框架。 我在文件的application.ini以下路线:

resources.router.routes.mainpage.route = "main-page.html"
resources.router.routes.mainpage.defaults.controller = "index"
resources.router.routes.mainpage.defaults.acion = "index"

如果我做了直接的任何行动:

$this->_helper->redirector('index', 'index');

然后我会重定向到地址: 我的项目/公共/指数/指数 ,但我想解决是我的项目/公共/主page.html即可 (因为它是确定的application.ini)

有人可以帮我吗? PS对不起,我的英语水平。

Answer 1:

使用来自gotToUrl方法重定向帮手

$this->_redirector = $this->_helper->getHelper('Redirector');
$this->_redirector->gotoRoute(
        array('fooRouteArgument' => fooValue),
        'route-name'
);

对于你的情况下,这导致:

$this->_redirector->gotoRoute(array(), 'mainpage');


Answer 2:

首先,它似乎你在你的application.ini语法是错误的。 见ZF-手册:资源路由器

在你的情况下,将BES做某事。 喜欢:

resources.router.routes.mainpage.route = "/index"
resources.router.routes.mainpage.defaults.controller = "index"
resources.router.routes.mainpage.defaults.acion = "MainPage"

然而,似乎你想重定向到一个静态页面,这是不是ZF的一部分。 Zend_Controller_Router只能到控制器的路由你的项目中,据我所知。

如果是这样,你可以简单地添加以下重定向:

//In view-scripts:
<?php echo $this->baseUrl('main-page.html'); ?>
//In controllerActions:
$this->_helper->getHelper('Redirector')
        ->gotoUrl('/main-page.html');


文章来源: Zend Framework - Redirect to routed direction