Маршрутизация в CakePHP 2.6.9

Я использую CakePHP 2.6.9.

Я хочу сделать следующее:

  1. www.example.com/detail/10 должно относиться к controller => frontends и action => detail
  2. www.example.com/admins/login должно относиться к controller => admins и action => login

Я отредактировал routes.php следующим образом:

Router::connect('/:action/*',
  array('controller' => 'frontends', 'action' =>'detail'));

Но когда я пытаюсь www.example.com/admins/login, он показывает следующую ошибку:

Администраторы действия не определены в контроллере 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 будут работать по умолчанию. Есть идеи?


person Abdus Sattar Bhuiyan    schedule 26.10.2015    source источник


Ответы (1)


это будет делать хотите вы хотите.

Router::connect('/detail/*', array('controller' => 'Frontends', 'action' =>'detail'));

В основном URL-адреса cakephp похожи на /controller/action/id. В вашем шаблоне маршрута /:action/* указано, что вы не используете controller names в URL-адресах, вместо этого вы используете только action names, например /detail/id и /admins/id, и все действия выполняются в контроллере Frontends. Из сообщения об ошибке видно, что он пытался найти admins действие в Frontends контроллере.

person user3082321    schedule 26.10.2015