Yii中不同语言的不同URL

时间:2014-07-17 10:32:51

标签: php url yii seo

是否有任何简单的方法可以使用URL的翻译? 我想根据语言更改网址,例如:

  • 英语:

    www.example.com/en/contact/office

  • 用于抛光,例如:

    www.example.com/pl/kontakt/biuro

两者都应该重定向到相同的控制器/动作。代码全部用英文编写,因此实际控制器名称为contact和操作office

怎么做?

1 个答案:

答案 0 :(得分:0)

您可以在urlManager(配置文件)中执行以下操作:

'<lang:\w+>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

然后在控制器的基类中:

public function beforeAction($action) {
    if(!empty(Yii::app()->request->getQuery('lang', null))) {
        Yii::app()->setLanguage(Yii::app()->request->getQuery('lang'));
    }
    return parent::beforeAction($action);
}