Cakephp路由:使用破折号打破了它
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cakephp路由:使用破折号打破了它相关的知识,希望对你有一定的参考价值。
我有以下2条路线。
Router::connect('/photo-gallery/:slug-:id',
array('controller' => 'company_categories', 'action' => 'photo_gallery'),
array(
'pass' => array('id'),
'id' => "[0-9]+"
)
);
Router::connect('/:slug-my-string-:id',
array('controller' => 'company_categories', 'action' => 'category_companies'),
array(
'id' => "[0-9]+",
'pass' => array('id')
)
);
虽然第一个工作,第二个没有。
我究竟做错了什么 ?
谢谢!
答案
你的第二个路由不起作用,因为整个字符串“:slug-my-string”被解析为路由元素而不仅仅是“:slug”。 Reference。
另一答案
我终于找到并且按预期工作的解决方案如下:
Router::connect('/:slug-:string-:id',
array('controller' => 'company_categories', 'action' => 'category_companies'),
array(
'id' => "[0-9]+",
'string' => "my-string"
'pass' => array('id')
)
);
这样我可以处理路由url模式中使用的所有类型的静态字符串,并且对于破折号(“ - ”)的解析没有任何问题,我认为这是问题所在。
以上是关于Cakephp路由:使用破折号打破了它的主要内容,如果未能解决你的问题,请参考以下文章