多语言网站的htaccess规则(在临时网站上工作)

时间:2016-01-10 00:38:45

标签: .htaccess

这是我正在使用的标准RewriteRule

RewriteRule (.*)-(.*)-(.*)\.htm$ index.php?v=$1&page=$2&folder=$3

这会将我的链接mywebsite.com/index.php?v=parm1&page=parm2&folder=parm3转换为mywebsite.com/parm1-parm2-parm3.htm

现在我需要添加语言支持(& lang = pl),以便链接如下所示:mywebsite.com/pl/parm1-parm2-parm3.htm

这也必须适用于临时地址:mywebsite.com/~website/

我知道如何在没有其他参数的情况下完成语言(见下文),但不知道如何将这两个规则结合在一起:

RewriteRule ^(en|pl)/(.*)$ $2?lang=$1 [L,QSA]

编辑:

mywebsite.com/这应该以主en语言

打开主页

mywebsite.com/parm1-parm2-parm3.htm这应该以主en语言

打开任何页面

mywebsite.com/pl/这应该以第二语言打开主页

mywebsite.com/pl/parm1-parm2-parm3.htm这应该以第二语言打开任何页面

1 个答案:

答案 0 :(得分:1)

为什么不合并Regex?

RewriteRule ^(en|pl)/(.*)-(.*)-(.*)\.htm$ index.php?v=$2&page=$3&folder=$4&lang=$1 [L,QSA]
RewriteRule ^(en|pl)/$ index.php?lang=$1 [L,QSA]
RewriteRule ^(.*)$ index.php?lang=en [L,QSA]