0

为单个模块创建模块化结构后会阻止 url 出现控制器的名称。

一切正常

site.con/foo/index/action/

我希望我能写成

site.com/foo/action/

IndexController 是该模块的唯一控制器。

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

4

1 回答 1

2

你需要Zend Routes

定义你的路线

引导程序.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"

解决了吗?

于 2012-08-16T10:57:28.260 回答