CakePHP 2.6.9 中的路由
Routing in CakePHP 2.6.9
我正在使用 CakePHP 2.6.9。
我想做以下事情:
www.example.com/detail/10
应该指controller => frontends
和action => detail
www.example.com/admins/login
应该指controller => admins
和action => login
我编辑 routes.php
如下:
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
但是当我尝试 www.example.com/admins/login
时,它显示以下错误:
The action admins is not defined in controller FrontendsController
证明www.example.com/admins/login
指的是
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
路由。我要
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
将仅适用于 controller => frontends and action=>detail
,其余 url 将默认使用。有什么想法吗?
这会如你所愿。
Router::connect('/detail/*', array('controller' => 'Frontends', 'action' =>'detail'));
大多数 cakephp url 都像 /controller/action/id
。您的路由模板 /:action/*
表明您没有在 url 中使用 controller names
,而是仅使用 action names
,例如 /detail/id
和 /admins/id
,并且所有操作都是在 Frontends
控制器中。您可以从错误消息中看到它试图在 Frontends
控制器中找到 admins
操作。
我正在使用 CakePHP 2.6.9。
我想做以下事情:
www.example.com/detail/10
应该指controller => frontends
和action => detail
www.example.com/admins/login
应该指controller => admins
和action => login
我编辑 routes.php
如下:
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
但是当我尝试 www.example.com/admins/login
时,它显示以下错误:
The action admins is not defined in controller FrontendsController
证明www.example.com/admins/login
指的是
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
路由。我要
Router::connect('/:action/*',
array('controller' => 'frontends', 'action' =>'detail'));
将仅适用于 controller => frontends and action=>detail
,其余 url 将默认使用。有什么想法吗?
这会如你所愿。
Router::connect('/detail/*', array('controller' => 'Frontends', 'action' =>'detail'));
大多数 cakephp url 都像 /controller/action/id
。您的路由模板 /:action/*
表明您没有在 url 中使用 controller names
,而是仅使用 action names
,例如 /detail/id
和 /admins/id
,并且所有操作都是在 Frontends
控制器中。您可以从错误消息中看到它试图在 Frontends
控制器中找到 admins
操作。