使用mod_rewrite进行语言重定向

时间:2017-08-20 20:48:05

标签: .htaccess redirect mod-rewrite seo translation

当谈到mod_rewrite时,我完全无能为力,所以我很乐意得到任何帮助。我只是希望Apache根据检测到的国家/地区语言重定向我的主页。我的PHP是多种语言的自动翻译,我试图避免因为搜索引擎优化而将相同的网站与子域和域相乘 - 但看起来谷歌还不是那么先进,没有别的选择。

e.g。

mysite.com  to:
mysite.com/index.php?lang=nl  for holland
mysite.com/index.php?lang=fr   for france
and for no specified country code just to:
mysite.com/index.php?lang=be

mysite.com/?lang=nl wwould also be fine

我也很高兴听到更好的建议。 我尝试了以下但没有成功

RewriteCond %{HTTP:Accept-Language} ^nl[NC]
RewriteRule ^index\.html /index\.php?lang=nl [QSA,NC,L]
RewriteCond %{HTTP:Accept-Language} ^fr[NC]
RewriteRule ^index\.html /index\.php?lang=fr [QSA,NC,L]

我刚收到服务器错误 - 无法找到可以提供帮助的确切案例

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteCond %{HTTP:Accept-Language} ^(nl|fr) [NC]
RewriteRule ^(index\.html)?$ /index.php?lang=%1 [QSA,NC,L]
RewriteRule ^(index\.html)?$ /index.php?lang=be [QSA,NC,L]