2

我目前正在使用 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/(显示单篇文章)有同样的问题。

4

1 回答 1

1

通过包含'alias' => null您指定:alias参数的默认值,如果它不在 URL 中,则使用它。这就是为什么您的第二条路线始终匹配的原因。删除它,它应该可以按照您的意愿工作。

于 2013-01-06T01:55:30.023 回答