1

我有一个带有几个模块的 ZF 应用程序:(像往常一样)

root\
    \application\
                \default
                \items
                \me
                   \controllers
                   \views

该应用程序使用默认路由,例如/module/controller/action

我想要的是:如果没有找到默认 Zend 路由的匹配项(没有找到操作/控制器/模块),则路由到所需的路径,并将 url 端点吐入参数中。

例如:

  • mydomain.lh/me-> 将匹配模块me、控制器index、动作index(默认)

  • mydomain.lh/my_category_name-> 将匹配模块items、控制器index、操作indexparams:类别 => my_category_name -> 使用所需的路径路由

    • my_category_name存在可匹配的模块

我已经尝试过,进入 bootstrap.php:

 public function _initRoutes ()
{
    $router = $this->_front->getRouter(); // returns a rewrite router by default

    $router->addRoute(
        'cat-item',
        new Zend_Controller_Router_Route('/:category',
                                         array(
                                            'module' => 'items',
                                            'controller' => 'index',
                                            'action' => 'index'))
    );
}

女巫指向正确的位置(我知道,因为我 var_dump 将请求 url 编辑到items/index/index操作中,并且预期的 url 和参数在那里,但如果我不执行var_dump(something);exit;操作,则会提供一个空白页面。

  • 没有输出但也没有产生错误,请求状态是 200 - OK

任何人都可以有一个建议吗?

谢谢!

4

0 回答 0