从单个模块的URL隐藏索引控制器

时间:2012-08-16 10:10:46

标签: zend-framework zend-route zend-config

为单个模块创建模块化结构后,将阻止url显示控制器的名称。

一切都适用于默认

site.con/foo/index/action/

我希望我能写成

site.com/foo/action/

是IndexController唯一的模块控制器。

我已经测试了几种解决方案但是没有用。作为第一个使用ZF的应用程序,我不太清楚要采取的步骤。

1 个答案:

答案 0 :(得分:2)

您需要Zend Routes

中定义路线
  

bootstrap.php中

打开你的bootstrap.php并输入以下内容:

function _initRoutes() {
        $front_controller = Zend_Controller_Front::getInstance();
        $router = $front_controller->getRouter();
        $router->addRoute('foo-action', new Zend_Controller_Router_Route(
            '<foo module name>/<action name>', array('module' => 'foo', 'controller' => 'index', 'action' => '<action-name>')
        ));
}

PS:工作/不工作? 在评论中提及如果不起作用,请给出模块,控制器和操作的正确名称。

编辑:

如何在application.ini中设置默认控制器/模块

routes.index.type = "Zend_Controller_Router_Route"
routes.index.route = "/"
routes.index.defaults.module = "<module name>"
routes.index.defaults.controller = "index"
routes.index.defaults.action = "index"

解决了吗?