我有一个带有几个模块的 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
、操作index
、params
:类别 => 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
任何人都可以有一个建议吗?
谢谢!