Zend framework 使用标准路由器的多条路由(Zend Framework)

Zend framework 使用标准路由器的多条路由(Zend Framework),zend-framework,rewrite,router,Zend Framework,Rewrite,Router,我正在尝试在zend中设置多条到同一控制器的路由,如下所示: URL | Controller::Action ================================================================================= http://mysite/tasks/:level/ | Objectives::Objectiv

我正在尝试在zend中设置多条到同一控制器的路由,如下所示:

URL                                            | Controller::Action
=================================================================================
http://mysite/tasks/:level/                    | Objectives::Objectives
http://mysite/tasks/:level/:objective/         | Objectives::tasks
http://mysite/tasks/:level/:objective/:taskID/ | Objectives::view
我尝试了以下方法:

<?php
$router->addRoute('objectives', new Zend_Controller_Router_Route(
    'task/:level/:objective/:taskID/',
    array(
        'controller' => 'objectives',
        'action'     => 'view'
    )
));
$router->addRoute('objectives', new Zend_Controller_Router_Route(
    'task/:level/:objective/',
    array(
        'controller' => 'objectives',
        'action'     => 'tasks'
    )
));
$router->addRoute('objectives', new Zend_Controller_Router_Route(
    'task/:level/',
    array(
        'controller' => 'objectives',
        'action'     => 'tasks'
    )
));
?>

但是,最后一条规则似乎覆盖了路由器中以前的规则。。我已经一遍又一遍地阅读了Zend关于路由器的文档,我觉得我只是遗漏了一些东西——我应该使用不同的路由器类吗


非常感谢您的帮助,因为我怀疑我正在改写以前的规则。addRoute()的第一个参数是路由的名称,而不是我所认为的要路由到的控制器。给每条路线一个唯一的名称解决了这个问题