我知道这三条路线可以压缩到一条路线,其中:年和月是可选参数,但到目前为止,我所尝试的所有内容只是将我重定向到索引,如果确切的参数不是'给定。例如," www.domain.com/blog/archive /"符合第一条规则,但是" www.domain.com/blog/archive/2013"正在进入索引规则,直到我添加了另一个特定的规则来匹配它。
Router::connect("/$slug/archive", array(
'plugin' => 'blog',
'controller' => 'blog_posts',
'action' => 'archive'
)
);
Router::connect("/$slug/archive/:year", array(
'plugin' => 'blog',
'controller' => 'blog_posts',
'action' => 'archive'
),
array('pass' => array('year') )
);
Router::connect("/$slug/archive/:year/:month", array(
'plugin' => 'blog',
'controller' => 'blog_posts',
'action' => 'archive'
),
array('pass' => array('year', 'month') )
);
Router::connect("/$slug/*", array(
'plugin' => 'blog',
'controller' => 'blog_posts',
'action' => 'index'
));
答案 0 :(得分:0)
要制作单个路由规则,请使用以下与“archive”,“archive / 2013”和“archive / 2013/02”匹配的代码
Router::connect("/$slug/archive/*", array(
'plugin' => 'blog',
'controller' => 'blog_posts',
'action' => 'archive'
)
);