Wordpress の WPML プラグインを使用して言語を処理する 3 つの言語の調査コミュニティがあります。残念ながら、言語検出は php 経由でのみ機能します。htaccess の方が高速で、ユーザーが遅延に気付かないため、htaccess を使用したいと考えています。
セットアップは次のとおりです。
community.netigate.net/ (English, International)
community.netigate.net/de/ (German)
community.netigate.net/sv/ (Swedish)
私はさまざまなアプローチを試しましたが、最良のアプローチが次のアプローチであることがわかりました
ほとんどのユーザーはドイツ人またはスウェーデン人なので、"英語" のみを標準の代替言語にしたいと考えています。セットアップは次のようになります。
CHECK IF 言語がスウェーデン語の場合、スウェーデン語のサブページにリダイレクトし
ます CHECK IF 言語がドイツ語の場合、ドイツ語のサブページにリダイレクトし
ます 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]