Я хочу использовать свой URL-менеджер, что-то ссылку. Для моего блога
http://example.com/yii-fremwork-install => это перейти к методу контроллера блога
где «yii-fremwork-install» — это кусок данных из базы данных.
а также не будет модуль для этого я пишу свой менеджер URL что-то подобное
'rules' => array(
'<slug:.+>' => 'users/details',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
Но когда мне нужно использовать мой админ модуль
http://example.com/admin
перейти к пользователю / детали контроллера мотыга, чтобы использовать это
Может кто-нибудь дать какую-то идею, чтобы решить эту проблему.
Проблема здесь в том, что <slug:.+>
используется для каждого маршрута.
Вы должны вручную определить все свои контроллеры в массиве правил и определить их в первую очередь
Как это :
'rules' => array(
'<controller:admin|default|item>' => '<controller>',
'<controller:admin|default|item>/<id:\d+>' => '<controller>/view',
'<controller:admin|default|item>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:admin|default|item>/<action:\w+>' => '<controller>/<action>',
'<slug:.+>' => 'users/details',
),
Где ваши 3 других контроллера (в качестве примера) AdminController
, DefaultController
а также ItemController
Других решений пока нет …