我有一个使用 Wordpress 的 WPML 插件处理语言的 3 种语言的调查社区。不幸的是,语言检测只能通过 php 工作。我想使用 htaccess,因为它更快并且用户不会注意到延迟。
设置如下:
community.netigate.net/ (English, International)
community.netigate.net/de/ (German)
community.netigate.net/sv/ (Swedish)
我尝试了不同的方法,发现最好的方法是
由于大多数用户是德国人或瑞典人,我希望“英语”只是标准的后备语言。设置可能是这样的:
CHECK IF 语言是瑞典语,然后重定向到瑞典子页面
CHECK IF 语言是德语,THEN 重定向到德语子页面
ELSE 使用英语作为后备
不幸的是,下面的解决方案最终会导致无休止的重定向?我错过了什么?
## Language Detection
#The 'Accept-Language' header starts with 'sv'
#and the test is case-insensitive ([NC])
RewriteCond %{HTTP:Accept-Language} ^sv [NC]
#Redirect user to /sv/hauptseite address
#sending 301 (Moved Permanently) HTTP status code
RewriteRule ^$ /sv/ [L,R=301]
#The 'Accept-Language' header starts with 'de'
#and the test is case-insensitive ([NC])
RewriteCond %{HTTP:Accept-Language} ^de [NC]
#Redirect user to /de/hauptseite address
#sending 301 (Moved Permanently) HTTP status code
RewriteRule ^$ /de/ [L,R=301]
#For every other language (including English :)) use English
RewriteRule ^$ / [L,R=301]