一个客户最近决定为我为他们创建的静态html网站添加第二种语言,所以我需要一些帮助来设置.htaccess文件,以便自动将浏览器语言设置为德语的用户重定向到子文件夹/de/,而其他浏览器语言应该默认到根文件夹。
我现在寻找了一段时间的解决方案,但它们似乎都是基于每种语言都有自己单独的子文件夹,包括默认语言,例如:
RewriteEngine On
# language starts with DE
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de/ [L,R=301]
# else redirect to the English version
RewriteRule ^$ /en/ [L,R=301]
我的客户端只希望将浏览器语言设置为德语的用户定向到域上的子文件夹。他不希望将英语用户定向到/en/,所以我必须将英语html文件放在根文件夹中。我尝试在部署它之前在localhost上设置它,每当我尝试重定向到英语的根文件夹时,我在浏览器中得到一个错误。
This page isn’t working
localhost redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS
发布于 2018-08-13 02:47:01
我自己想出来的。为了将默认语言文件放在根文件夹中,您只需为默认语言以外的其他语言添加重定向。在我的例子中,我只需要将以下代码添加到.htaccess:
RewriteCond %{HTTP:Accept-Language} ^de [NC]
RewriteRule ^$ /de/ [L,R=301]
https://stackoverflow.com/questions/51811162
复制相似问题