【发布时间】:2014-05-30 10:50:16
【问题描述】:
考虑两条路线:
路由器 A:
Router::connect('/site', array('prefix' => 'site', 'controller' => 'home', 'action' => 'index'));
路由器 B:
Router::connect('/:prefix/usuario/:action', array('controller' => 'usuarios'));
这个链接,//localhost/site/usuario/enderecos,在带有前缀的路由器 A 上工作,但不执行控制器主页,也不执行操作索引。它确实适用于路由 B,并且调用了控制器 usuarios。
这个链接 //localhost/site/usuario/endereco/156 与上面的链接与路由 A 的工作方式相同,但不适用于路由 B。因此它会抛出 404 NOT FOUND。
如果我在 Route B 的末尾加上 /*,它就可以工作。
我的问题:
1) 为什么对于以 /site 开头的任何链接,链接都与路由 A 一起使用,但第二个链接不与路由 B 一起使用。
2) 如果我在 Route A 的末尾放了一个 /*,那么所有与 /site 的链接都开始要求一个 home 控制器和一个 site_index 操作。为什么?
谢谢,
乔
【问题讨论】: