2017-08-08 68 views
1

我的工作項目,i8n,我有這個/config/web(Yii2基本):Yii2網址i8n與子文件夾

'article/<id:\d+>/<slug>' => 'article/view', 
'<language:\w{2}>' => 'site/index', 
'<language:\w{2}>/<_c:\w+>' => '<_c>', 
'<language:\w{2}>/<_c:\w+>/<_a:\w+>' => '<_c>/<_a>', 
'<language:\w{2}>/<_m:\w+>' => '<_m>', 
'<language:\w{2}>/<_m:\w+>/<_c:\w+>' => '<_m>/<_c>', 
'<language:\w{2}>/<_m:\w+>/<_c:\w+>/<_a:\w+>' => 

如果我有這個網址: 2012/it/site/index - 做工精細

2012/it/folder/site/index - 不工作(錯誤404)

任何想法?

回答

1

第一件事:

有一些問題,這些規則。

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

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

對於應用這兩個規則將被視爲相同,所以沒有將所有的點 - 每個只有一個。您需要找到其他設置操作參數的方式。

第二件事:

爲了始終設置規則,從最複雜,不太複雜,因此它可以被正確捕獲。

'article/<id:\d+>/<slug>' => 'article/view', 
'<language:\w{2}>/<_c:\w+>/<_a:\w+>' => '<_c>/<_a>', 
'<language:\w{2}>/<_c:\w+>' => '<_c>', 
'<language:\w{2}>' => 'site/index',