仅隐藏URL中的默认控制器名称

时间:2012-02-02 13:42:00

标签: zend-framework zend-route

是否可以强制Zend_Router检查defaultController的动作,如果动作在默认控制器中,则跳过URL中的控制器名称?


/ defaultControllerName / action / - > /动作/
/ nonDefaultContorller / action / - > / nonDefaultContorller /动作/

如果不可能处理这种情况的惯例是什么?

1 个答案:

答案 0 :(得分:0)

静态路由可以实现此目的,但您必须为索引控制器中的每个操作添加一个。

所以mysite.com/add将转到索引控制器添加操作。

protected function _initRoutes()
{
    $frontcontroller = Zend_Controller_Front::getInstance();
    $router = $frontcontroller->getRouter();

    $route = new Zend_Controller_Router_Route_Static('add', array('controller'=>'index','action'=>'add'));

    $router->addRoute('add',$route);
}