0

我想让我的新网站项目多语言。我的想法是将文件重定向到一个虚构的语言文件夹(如 www.domain.com/en/sub/content.php 等)。

RewriteRule ^en/(.*)$ /$1?lang=en [L]
RewriteRule ^de/(.*)$ /$1?lang=de [L]
RewriteRule ^es/(.*)$ /$1?lang=es [L]
RewriteRule ^ru/(.*)$ /$1?lang=ru [L]

它适用于物理上存在的测试文件,甚至是几个文件夹......

但它不能与另一个重写结合使用。
为了让“www.domain.com/liga.php?whatleague=firstleague&matchday=7”看起来像“www.domain.com/firstleague/2013/7/”
,我使用了:

RewriteRule ^firstleague/2013/([0-9]+)/?$ /liga.php?whatleague=firstleague&matchday=$1 [L]

单独的重定向工作正常,但是当我添加语言文件夹(www.domain.com/de/firstleague/2013/7/)时,“lang”参数没有被传递。
我在 htaccess 文件中以不同的顺序尝试了它,但结果相同。

PS:英语不是我的主要语言。

4

1 回答 1

0

You don't need another rule, just add QSA flag in you firstleague folder:

RewriteRule ^en/(.*)$ /$1?lang=en [L,QSA]
RewriteRule ^de/(.*)$ /$1?lang=de [L,QSA]
RewriteRule ^es/(.*)$ /$1?lang=es [L,QSA]
RewriteRule ^ru/(.*)$ /$1?lang=ru [L,QSA]

RewriteRule ^(firstleague)/2013/([0-9]+)/?$ /liga.php?whatleague=$1&matchday=$2 [L,QSA]
于 2013-09-22T06:09:08.980 回答