我的路由器有点问题。
我有一个自定义路线:
$router->addRoute('showTopic',
new Zend_Controller_Router_Route('/forum/topic/:topic',
array('module' => 'forum',
'controller' => 'topic',
'action' => 'show'),
array('topic' => '\d+')));
但是当我尝试访问这个 url 时:localhost/forum/topic/16 我得到这个错误:
致命错误:未捕获的异常“Zend_Controller_Router_Exception”,消息“未指定主题”
但我不想为主题设置默认值,因为我还希望路由 /forum/topic 列出所有主题......
其次,我知道如果我添加自定义路由,默认路由会被覆盖,但我也需要一些默认路由。我发现的唯一方法是在 url view helper 的第二个参数中设置'default',就像这样
$this->url(array(
'module' => 'forum',
'controller' => 'topic',
'action' => 'add'
), 'default', true)
有没有更优雅的方法,而不是对我想使用默认行为的所有 url 执行此操作?