2013-09-22 128 views
0

我想讓我的新網站項目多語言。我的想法是將文件重定向到一個虛構的語言文件夾(如www.domain.com/en/sub/content.php等)。htaccess重寫語言重定向

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 &比賽日= 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:英語不是我的主要語言。

回答

0

你並不需要另一個規則,只需添加QSA標誌在你firstleague文件夾:

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]