kohana uri混乱

时间:2012-02-29 19:49:39

标签: php kohana

我设定的路线不起作用:

Route::set('route_id_3', 'mod(/<action>(/<id>(:<name>)))')
->defaults(array(
    'controller' => 'mod',
    'action'     => 'act',
));

当我请求ID作为请求参数时,我会在操作后设置所有内容。 例如'10:名称

无论是冒号,破折号还是加+,都会发生这种情况,除非它是斜杠(/)

所以,只有当我用斜杠替换冒号=&gt; /

如何使用 - 或+或冒号:?

谢谢。

PS。我希望'name'位是可选的。无论是否存在,我都需要它才能发挥作用。并且确实如此,只有id,但我希望它写的名称不会影响它。就像报纸网站的系统一样。谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过在set方法中添加正则表达式作为第三个参数来实现此目的。

Route::set('route_id_3', 'mod(/<action>(/<id>(:<name>)))', array('id' => '\d+'))
->defaults(array(
    'controller' => 'mod',
    'action'     => 'act',
));

':'之前的所有数字都是'id',':'之后的所有数字都是'name'。

所以如果你的uri是'mod / act / 10:test'。然后你的id将是10,名字将被测试。