我有一个小问题,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对不起,我的英语水平。
使用来自gotToUrl方法重定向帮手
$this->_redirector = $this->_helper->getHelper('Redirector');
$this->_redirector->gotoRoute(
array('fooRouteArgument' => fooValue),
'route-name'
);
对于你的情况下,这导致:
$this->_redirector->gotoRoute(array(), 'mainpage');
首先,它似乎你在你的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');