请帮助,我有一个以英语为主要语言的网站
它有语言文件夹:
/de
/es
/it
/fr
没有英文文件夹,因为我将英文作为主域名,因此英文文件位于公共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 :(得分: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中检查过。