2013-09-28 29 views
0

我在CakePHP中 很新,我試圖將語言的用戶類型添加到URL中的情況: MYDOMAIN(點)的COM /用戶CakePHP的追加語言的URL,如果不存在

然後網址已更改爲http://mydomain.com/eng/users

嗯,我使用翻譯的行爲,在我的routes.php文件的文件我有:

Router::connect('/:lang/:controller/*', array(), array('lang' => '[a-z]{3}')); 
Router::connect('/:lang/:controller/:action/*', array(), array('lang' => '[a-z]{3}')); 

好到目前爲止一切都完美。 但是當我contorllers/AppController.php我嘗試將網址我得到一個錯誤

這是我在我的後過濾功能:

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 /查看/

我的問題對你會是:什麼是最好的方式來實現我所需要的? 有這樣做的插件嗎?或者我如何在CakePHP中處理這個問題?

回答

0

井的問題是在我的router.php

我不得不---> 路由器::連接( '/:朗/:控制器/ ',陣列(),陣列( '郎'= >'[az] {3}')); Router :: connect('/:lang /:controller /:action/',array(),array('lang'=>'[a-z] {3}'));

正確的方法是-----> Router :: connect('/:lang /:controller /:action/',array(),array('lang'=>'[az] {3}「)); Router :: connect('/:lang /:controller/',array(),array('lang'=>'[a-z] {3}'));

相關問題