我有以下重写规则将访问者重定向到正确的语言页面:
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 /。
这只发生在显而易见的主页上。但是有一种方法可以只应用这些重写规则一次,这样你可以覆盖重定向吗?
使用当前设置,您在重定向后永远无法访问主页/根域。
感谢。