2017-02-03 114 views
0

请帮帮忙,我有一个网站,以英语为主要语言.htaccess的语言重定向循环

它有语言文件夹:

/de 
/es 
/it 
/fr 

没有EN英语文件夹,因为我有英语为主要域,以便英文文件是公开的HTML文件夹

我htaccess的

RewriteCond %{REQUEST_URI}   ^/$ 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R=301] 

这个工作完全不同于这个bug 有一个循环

如果语言浏览器不是英语,但西班牙语或法语等他们不能点击英文标志,以他们的英文版本,这是没有子文件夹的主要域它只是重定向循环回他们自己的语言

有没有简单的方法来解决这个问题,而不创建/ en?

非常感谢

回答

0

是的,我建议你的链接到英文上设置?lang=en和改变你的规则:

RewriteCond %{QUERY_STRING} !=lang=en 
RewriteCond %{HTTP:Accept-Language} ^(it|fr|de|es) [NC] 
RewriteRule ^$ http://%{HTTP_HOST}/%1/ [L,R] 

而且还改变了重定向到临时,我在上面做了,或重定向将被缓存在浏览器中。

我删除了request_uri检查,因为它已在您的RewriteRule中检查过。

+0

谢谢你会尝试它,不知道我完全理解,但会尝试! – Paul

+0

它不工作,说pagecant显示?? – Paul