CakePHP路由不适用于切换语言


CakePHP routing not work with switching language?

我有:

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?

请帮忙!提前感谢您的帮助!

您只需要声明两次路由行。

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

用那种方式,让我知道你对同样的想法。

感谢

您可以使用

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