영어, 독일어 및 프랑스어로 된 다국어 사이트를 구축 중입니다..htaccess로 언어 변경
- 영어 : example.com
- 독일어 : example.com/
- 드 영어 사이트는 루트 것, 다른 하나는 자신의 하위 디렉토리에있을 것입니다 프랑스어 : example.com/ fr
쿼리 문자열을 사용하여 언어에서 언어로 리디렉션하는 깨끗한 솔루션 을 찾는 데 어려움이 있습니다. (? 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>
어떤 있는가 더 나은 sollution, 그래서 더 많은 언어를 추가 할 경우 더 짧고 깨끗한 코드 것입니다. 처음으로 나는 htaccess를 전혀 연구하지 않았다!
감사합니다.
대신 PHP에서 일을하려고 가치가있을 수도? lang을 확인하고 헤더를 적절하게 변경하십시오. – Deckerz
그것의 워드 프레스 multisite와 각 사이트는 언어를 가지고 있기 때문에 각 헤더를 바꾸기가 어려울 것입니다. htaccess로 생각하면 더 쉬울 것입니다. 언어를 바꾸는 방법을 모를지라도 (플러그인이 필요 없다면) – raktaktak