用一个参数弄乱别人的路线

时间:2014-05-07 00:44:30

标签: cakephp cakephp-2.3

我希望访问用户个人资料在Twitter之类的网站网址后传递他的slu with和param。

所以我做到了

Router::connect('/*', array('controller' => 'users', 'action' => 'profile'));

所以我想输入http://mydomain.com/user1并转到控制器用户,操作配置文件并传递给param' user1'。

工作正常,但正在弄乱其他路线,例如:

http://mydomain.com/comment/add

该路线将转至控制器用户并传递“评论”。像一个参数。

1 个答案:

答案 0 :(得分:0)

将该路线放在最后

如果您想使用此类路线,必须为最后一个,并且您将无法使用Cake's default routes included by default。因此,您需要首先显式路由所有控制器和插件路由:

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));

Router::connect('/:controller/', array('controller' => 'my|list|of|controllers', 'action' => 'index'));
Router::connect('/:controller/:action/*', array('controller' => 'my|list|of|controllers'));
...

Router::connect('/*', array('controller' => 'users', 'action' => 'profile'));