2013-01-06 2 views
2

현재 Zend Framework를 사용하여 새 웹 사이트 버전을 만들고 있는데, 이전에 보았던 약간의 문제가 있습니다.Zend Router - 매개 변수가 있거나없는 URL은 두 개의 다른 경로입니다.

내 경로가 있습니다 (일부)

// 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/ (단일 기사 표시)에 대해 동일한 문제가 있습니다.

답변

1

'alias' => null을 포함하면 URL에없는 경우 사용되는 :alias 매개 변수의 기본값이 지정됩니다. 이것은 두 번째 경로가 항상 일치하는 이유입니다. 이것을 제거하면 원하는대로 작동합니다.

+0

답변 해 주셔서 감사합니다. 나는 잠시 동안을 찾고 있었다. 나는 디폴트 값을 제거했고 그것은 지금 아주 잘 작동한다 :) –

관련 문제