2011-06-29 14 views
0

こんにちはすべて、あらゆる先端/情報をお寄せいただきありがとうございますあなたは私たちが今、私たちは、これはダイナミックで3つの言語
で一部であるようにアップグレード英語
で約100ページ(HTML)と静的なサイトを持っている
を提供します私たちがやって考えることです:英語版で

/language/path/to/page.html

thaの実際のコンテンツを単一のPHPファイルで両方のケースで提供しています、のようなもの:他のバージョンで/path/to/page.html
またはpage.php?lang=french

一般的な書き換えルールは次のようになります。htaccessファイルの多言語サイト

RewriteRule ^/path/to/page.html$ page.php?lang=$1 [NC,L] 

私の問題は、私は$langに基づいて、このルールを変更する方法がわからないです。だから、$lang=english OR if $lang=''場合は、ルールが他のすべてのレージングのルールでは/path/to/page.html

にtanslatedされます
$lang/path/to/page.html


になり、これはhtaccessをすることによって達成することができますか?

答えて

1

まず第一に、それは私が正しくあなたを理解していれば、コンテンツの1セット、各のlangaugeのためではない重複コンテンツを(持っていることが最善であるかもしれない。

我々は仕事で(当社のウェブサイト上で複数の言語を持っている)、私たちは保存データベース内の翻訳、その後、選択した言語のために適切なものをロード

しかし、その方法があなたのためにうまく動作するかどうか、あなたはこれを無視することができます:)

私は役立つかもしれない。このような何かやった:。

# Force English 
# for http://www.website.com/ 
RewriteRule ^$ page.php?lang=EN 

# English 
# for http://www.website.com/EN/ 
RewriteRule ^EN/?$ page.php?lang=EN 

# Other Languages 
# for http://www.website.com/DE/ etc 
RewriteRule ^(DE|FR|ES)/?$ $1/path/to/page.php?lang=$1 
+0

これらのルールは正しいですか? 最初の2つのルールに基づいて複数の書き換えを行っていませんか? – andrew

+0

はい、正しいです。最初のルールは、言語が渡されないときのためのもので、デフォルトは英語、2番目は言語が渡されるときのルールです。 – Tomgrohl