从url中删除控制器名称对于cakephp中的多个控制器不起作用

从url中删除控制器名称对于cakephp中的多个控制器不起作用,cakephp,routes,Cakephp,Routes,我想从url中删除控制器名称。它适用于一个控制器,但不适用于多个控制器。下面是我在Route.php中的代码: Router::connect('videos/:action', array('controller' => 'videos')); Router::connect('/:action', array('controller' => 'frontends')); 但是当我尝试访问http://local.tbn24.dev/videos它显示: 错误:控制器Fro

我想从url中删除控制器名称。它适用于一个控制器,但不适用于多个控制器。下面是我在Route.php中的代码:

 Router::connect('videos/:action', array('controller' => 'videos'));
 Router::connect('/:action', array('controller' => 'frontends')); 
但是当我尝试访问
http://local.tbn24.dev/videos
它显示:

错误:控制器FrontendsController中未定义动作视频

这证明了上面的url引用

Router::connect('/:action', array('controller' => 'frontends'));
我希望此url能够访问视频控制器索引功能。如何使用这两种
Route::connect()
配置

但是当我尝试访问
http://local.tbn24.dev/videos

这是没有出路的 在定义的两个路由中,此路由与上述url不匹配,因为它只是一个路径段:

Router::connect('videos/:action', array('controller' => 'videos'));
因此,它将匹配“一网打尽”路线,并将
视频
解释为要查找的操作

还请注意,如果没有前导斜杠,路由将不匹配任何请求,因为它们总是以前导斜杠开始

仅与控制器名称匹配的路由 要定义与
/videos
匹配的路由,请定义与该特定字符串匹配的路由:

Router::connect('/videos', array('controller' => 'videos', 'action' => 'index'));
或者,定义具有限制模式的路线:

Router::connect(
    '/:controller', 
    array('action' => 'index'),
    array('controller' => 'videos|stuff'),
);
有关路由的更多信息,请查看您正在使用的CakePHP版本。

如何引用“控制器”=>“视频”和“操作”=>“索引”