如何为html静态html多语言网站设置htaccess,其默认语言文件位于根文件夹中,而另一种语言位于子文件夹中?

时间:2018-08-12 17:23:45

标签: .htaccess

客户最近决定向我为其创建的静态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文件放在根文件夹中。 在部署它之前,我试图在本地主机上进行设置,并且每当尝试重定向到英语的根文件夹时,浏览器都会出现错误。

This page isn’t working
localhost redirected you too many times.
Try clearing your cookies.
ERR_TOO_MANY_REDIRECTS

1 个答案:

答案 0 :(得分:0)

我自己弄清楚了。为了在根文件夹中具有默认语言文件,您只需要为默认语言以外的其他语言添加重定向。 就我而言,我只需要将此添加到.htaccess:

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