3
我正在建造一個多語言網站,它將使用英語,德語和法語。英文網站將是根,其他的將是他們子目錄:使用.htaccess更改語言
- 英語:example.com
- 德國:example.com/ 德
- 法文:example.com/ fr
我很難找到乾淨的解決方案使用查詢字符串從語言重定向到語言。 (?LANG = EN,LANG = DE,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多站點,每個站點都有它的語言,所以它很難改變每個header.I想用htaccess它會更容易,雖然我不知道如何改變語言(如果沒有插件是通緝令) – raktaktak