我有两个模块应该覆盖其他网址,基本上
/management/category/edit/id/1(编辑类别页面)
/management/category/index(管理模块中Category的索引页)
/management/category(管理模块中类别的索引页)
/women-like-men/category(从 /default/category/view/id/women-like-men 路由的 URL)
以上规则为:
$router->addRoute('view-category', new Zend_Controller_Router_Route(':id/category/:page', array('module' => 'default', 'controller' => 'category', 'action' => 'view', 'page' => null)));
$router->addRoute('management/category', new Zend_Controller_Router_Route('management/category/', array('module' => 'management', 'controller' => 'category', 'action' => 'index')));
有很多类似的页面存在“冲突”(画廊、电影、用户)等。
我真正想要的是一条规则,它说 /management/* 路由到模块管理/控制器/操作并忽略下面的规则,任何带有 /management 的内容。无论如何,用户/画廊/电影/类别被称为管理的可能性很低。
是否可以?
编辑,我做了这个:
$router->addRoute('administration', new Zend_Controller_Router_Route_Regex('management/?(.*)/?(.*)', array('module' => 'management'), array(1 => 'controller', 2 => 'action')));
/management/category 工作正常,但是之后的任何内容都会导致 404