基于浏览器语言的.htaccess重写仅适用

时间:2018-05-29 10:29:11

标签: .htaccess

我有以下重写规则将访问者重定向到正确的语言页面:

RewriteCond %{HTTP:Accept-Language} ^en [NC]
RewriteRule ^$ /en/[L,R=301]

RewriteCond %{HTTP:Accept-Language} ^fr [NC]
RewriteRule ^$ /fr/[L,R=301]

RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ /es/[L,R=301]

此代码工作正常,但有一个缺点。

默认情况下,该网站是荷兰语,并且除了根域之外,没有指向特定目录。

如果你是荷兰语,但你的浏览器语言设置为英语,那么你将被重定向到root.com/en/,这是预期的行为。

但是,该网站有三个语言链接指向该页面的其他翻译。除了链接到根域(荷兰语主页)

之外,这些链接都正常工作

当您将浏览器语言设置为英语时,指向荷兰语主页的链接会将您重定向到/ en /。

这只发生在显而易见的主页上。但是有一种方法可以只应用这些重写规则一次,这样你可以覆盖重定向吗?

使用当前设置,您在重定向后永远无法访问主页/根域。

感谢。

0 个答案:

没有答案