我有一个WordPress网站,有两种语言:德语和英语。我的目标:如果浏览器语言是英语,我希望用户被重定向到英文版。我试图用htaccess解决这个问题,但是我收到了浏览器错误消息。
我的完整htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#Redirect to English page if browser language is English
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* http://www.mywebsite.de/?lang=en [R,L]
当我想访问http://www.mywebsite.de时,语言设置为英语的Firefox会给我以下错误消息:
您输入的网站重定向请求,以便永远不会 完成。
(这是从德语到英语的翻译。)
我该如何解决这个问题?
答案 0 :(得分:0)
您可以使用RewriteCond来防止循环错误。
#Redirect to English page if browser language is English
RewriteCond %{HTTP:Accept-Language} (en) [NC]
#Skip the Rule and stop the redirection, If we are already on /?lang=en
RewriteCond %{QUERY_STRING} ^$
RewriteRule .* http://www.mywebsite.de/?lang=en [R,L]