CakePHP маршрутизация не работает с переключением языка?

Я имею :

Router::connect('/:language/:controller/:action/*', array(), array('language' => 'en|zh'));
Router::connect('/:language/:controller', array('action' => 'index'), array('language' => 'en|zh'));
Router::connect('/:language', array('controller' => 'welcome', 'action' => 'index'), array('language' => 'en|zh'));

Я хочу добавить еще один маршрут, как показано ниже:

Router::connect('/profile', array('controller' => 'userProfile', 'action' => 'index'));

Когда я захожу на: www.xxxxx.com/profile, он работает как обычно, но когда я захожу на www.xxxxx.com/en/profile, я получаю сообщение об ошибке «Отсутствует контроллер».
Как я могу сделать, чтобы перейти на www.xxxxx.com/en/profile без каких-либо ошибок?

Пожалуйста помоги! Спасибо заранее за любую помощь!

0

Решение

Вам просто нужно объявить эту линию маршрута два раза.

Router::connect('/profile', array('controller' => 'userProfile', 'action' => 'index'));
Router::connect('/:language/profile', array('controller' => 'userProfile', 'action' => 'index'), array('language' => 'en|zh'));

Используйте этот способ и дайте мне знать ваши мысли относительно того же.

Спасибо

1

Другие решения

Ты можешь использовать

Router::connect('/:language/profile', array('controller' => 'userProfile', 'action' => 'index'), array('language' => 'en|zh'));
0