我正在使用 Play Framework 1.2.4,我想知道是否有办法为每种语言设置不同的路由,这些路由指向相同的控制器/动作(特别是对于 SEO)。
例如,我想要:
GET /en/how-it-works myController.howItWorks
GET /fr/comment-ca-marche myController.howItWorks
问题是反向路由从路由文件的顶部开始,所以如果我是 /fr
网站的一部分,链接@{myController.howItWorks}
将导致/en/how-it-works
为了完成我的案例,我使用一个参数lang
作为 routeArgs,这是我的路由文件:
GET /{lang}/how-it-works myController.howItWorks
myController
有一个@Before
设置lang
routeArgs 的方法。此代码有效,我得到了/en/how-it-works
,如果我将语言更改为 fr 我得到了/fr/how-it-works
我已经在我的路由文件中尝试过这个,但它不起作用
%{if (lang == 'fr') { }%
GET /{lang}/comment-ca-marche myController.howItWorks
%{ } else { }%
GET /{lang}/how-it-work myController.howItWorks
%{ } }%
该lang
参数似乎是null
,所以我无法动态选择正确的路线。想知道有没有人遇到同样的问题
谢谢您的帮助
(对不起我的英语......)