英語、ドイツ語、フランス語の多言語サイトを構築しています。.htaccessで言語を変更する
- 英語:example.com
- ドイツ:example.com/
- デ英語サイトはルートなり、他は彼らのサブディレクトリになりますフランス語:example.com/ fr
クエリ文字列を使用して、言語から言語にリダイレクトする清潔な解決策解決が難しいです。 (???、EN LANG = LANG =デ、LANG = FR)
このコードは動作していますが、私はそれにその長いと思う:
# Languages
<IfModule mod_rewrite.c>
RewriteEngine on
# Deutsch (Change FR to DE, or add DE if English)
RewriteCond %{QUERY_STRING} lang=de
RewriteRule ^fr/(.*) de/$1? [L,R=301]
RewriteCond %{QUERY_STRING} lang=de
RewriteRule ^(.*) de/$1? [L,R=301]
# English (Remove DE if German, Remove FR if French)
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^de/(.*) /$1? [L,R=301]
RewriteCond %{QUERY_STRING} lang=en
RewriteRule ^fr/(.*) /$1? [L,R=301]
# French (Change DE to FR, or add FR if English)
RewriteCond %{QUERY_STRING} lang=fr
RewriteRule ^de/(.*) fr/$1? [L,R=301]
RewriteCond %{QUERY_STRING} lang=sq
RewriteRule ^(.*) fr/$1? [L,R=301]
</IfModule>
はどのはありますより良い解決、の言語を追加する場合はとなり、より洗練されたコードとなります。
私は初めてhtaccessに取り組んでいます。
ありがとうございます!
それは代わりにPHPでやろうとして価値があるかもしれませんか? lang GETをチェックし、それに応じてヘッダーを変更してください。 – Deckerz
これはWordPressのマルチサイトで、各サイトには言語があるので、各ヘッダを変更するのは難しいでしょう。htaccessを使うと簡単になると思っていましたが、言語を変更する方法はわかりませんでした(もし、 ) – raktaktak