【发布时间】:2012-06-27 18:54:40
【问题描述】:
在我的路线配置中,我只使用自定义路线。现在我遇到了分页问题,在它运行良好之前。
路线:
// view all posts by year and month
Router::connect('/blog/:year/:month/*', array(
'controller' => 'posts',
'action' => 'index',
'month' => null
), array(
'pass' => array(
'year',
'month'
),
'year' => '[12][0-9]{3}',
'month' => '0[1-9]|1[012]'
));
这应该执行以下操作:/blog/2012/ 应该列出 2012 年的所有帖子,而月份不相关。 /blog/2012/05/ 应该列出 2012 年 5 月以来的所有帖子,月份是相关的。我在末尾添加了 /* 以使用 /blog/2012/05/page:2,现在可以正常使用。但是,/blog/2012/page:2 不起作用,page:2 被假定为一个月,并且由于不匹配的正则表达式,转换为'',因此数据库查询查找一个月''。
我可能不知何故没有完全掌握路由,以及如何声明可以传递和不能传递的变量,但是我如何重写这个配置使其工作,而不从根本上改变它?我真的认为这是一个配置问题。 谢谢。
【问题讨论】: