Yii2 URL i8n无法正常工作

时间:2017-09-25 09:12:41

标签: url yii2

我正在使用Yii2,我有这样的配置:

'urlManager' => [            
    'enablePrettyUrl' => true,
    'showScriptName' => false,            
    'rules' => [ 
        '<language:\w{2}>/<_c:\w+>/<_a:\w+>'=>'<_c>/<_a>',
    ],
],

使用此网址即可:

http://localhost/webapp/it/site/index

但使用此网址不会运行:

http://localhost/webapp/it/site/folder/index

2 个答案:

答案 0 :(得分:0)

尝试使用https://github.com/codemix/yii2-localeurls

    // Override the urlManager component
    'urlManager' => [
        'class' => 'codemix\localeurls\UrlManager',

        // List all supported languages here
        // Make sure, you include your app's default language.
        'languages' => ['en', 'fr', 'de', 'es-*'],
    ]

答案 1 :(得分:0)

将此行添加到规则中。也许这有效:

'<language:\w{2}>/<_m:\w+>/<_c:\w+>/<_a:\w+>'=>'<_m>/<_c>/<_a>',

但这不是普遍的方式。如果您想要更好的解决方案,可以使用第三方扩展。