我目前正在使用Zend Framework创建我的网站的新版本,我遇到了一些我过去看到过的问题。
有我的路线:(一部分)
// BLOG -> CATEGORIES
$route = new Zend_Controller_Router_Route(
'blog/categories',
array(
'module' => 'blog',
'controller' => 'categories',
'action' => 'index'
)
);
$router->addRoute('blog-categories', $route);
// BLOG -> CATEGORIES -> LIST ARTICLES (:alias = name of the category)
$route = new Zend_Controller_Router_Route(
'blog/categories/:alias',
array(
'module' => 'blog',
'controller' => 'categories',
'action' => 'list',
'alias' => null
)
);
$router->addRoute('blog-categories-list', $route);
问题是:当我转到/blog/categories/
时,它会给我list
行动。我不想要的。我需要index
。
有没有办法解决这个问题而不使用例如/blog/categories/view/:alias
?
注意:我对/blog/
(列出所有文章)和/blog/:alias/
(显示单篇文章)也有同样的问题。
答案 0 :(得分:1)
通过包含'alias' => null
,您要为:alias
参数指定默认值,如果它不在URL中,则使用该参数。这就是你的第二条路线始终匹配的原因。删除它,它应该按照你想要的那样工作。