cakePHP路由器,路由不起作用

问题描述

| 我有这条路线:
Router::connect(
    \'/:controller/*\',array(\'controller\'=>\'con3\'),array(\'controller\'=>\'con1|con2\')
            );
我正尝试将每个电话转到
/con1/x1/x2
/con3/x1/x2
/con2/y1/y2
/con3/y1/y2
它不起作用,为什么?     

解决方法

如果您需要根据自己的约束将
/con3/
路由到
/con1/
和/或
/con2/
,那么您需要的是自定义
Route class
。为此,没有比Mark Story的自定义
Route
类教程更好的地方了。 否则,您当然可以像这样扩展控制器(并将主体留空):
<?php
class Con3Controller extends Con1Controller{
    // maybe add model here if you don\'t have
    // var $uses in Con1Controller
    // otherwise,extend is just fine
}
?>
在这种情况下,您无需像现在那样弄乱连接路线。对象继承将为您处理“别名”。     ,您是否考虑过类似的东西:
Router::connect( \'/con1/:action/*\',array( \'controller\' => \'con3\' ) );
Router::connect( \'/con2/:action/*\',array( \'controller\' => \'con3\' ) );