Internationalization 如果不存在,则CakePhp将语言附加到Url
我是CakePHP的新手 我正在尝试将语言附加到URL,以防用户类型: mydomain(点)com/用户 然后Url必须更改为 我正在使用Translate behavior,在我的routes.php文件中,我有:Internationalization 如果不存在,则CakePhp将语言附加到Url,internationalization,routing,Internationalization,Routing,我是CakePHP的新手 我正在尝试将语言附加到URL,以防用户类型: mydomain(点)com/用户 然后Url必须更改为 我正在使用Translate behavior,在我的routes.php文件中,我有: Router::connect('/:lang/:controller/*', array(), array('lang' => '[a-z]{3}')); Router::connect('/:lang/:controller/:action/*', array()
Router::connect('/:lang/:controller/*', array(), array('lang' => '[a-z]{3}'));
Router::connect('/:lang/:controller/:action/*', array(), array('lang' => '[a-z]{3}'));
好的,到目前为止一切都很好。
但是当我在contorllers/AppController.php中尝试附加url时,我得到了一个错误
这就是我的后滤器功能:
if (empty($this->params['lang']) ){
//Redirect to a language url
$this->redirect(array(
'lang'=> 'eng',
'controller' => $this->params['controller'],
'action' => $this->params['action'])
);
}
这是可行的,但当我尝试转到http:/mydomain.com/users/View/4时
在url中,我可以看到http:/mydomain(dot)com/eng/users/View/4
但我在浏览器中看到的是http:/mydomain(dot)com/users/View/
我的问题是:实现我所需要的最好的方法是什么?
有这样做的插件吗?或者我如何在CakePHP中处理这个问题?问题出在我的router.php中 我有--> 路由器::连接('/:lang/:controller/',array(),array('lang'=>'[a-z]{3}'); 路由器::连接('/:lang/:controller/:action/',array(),array('lang'=>'[a-z]{3}') 正确的方法是------> 路由器::连接('/:lang/:controller/:action/',array(),array('lang'=>'[a-z]{3}');路由器::连接('/:lang/:controller/',array(),array('lang'=>'[a-z]{3}')