私はGETTEXTを使用してPHPサイト全体の翻訳を実装しています。私は、PHPファイル(各セクションの1)の束を持っている、と私はGET変数を経由して言語を制御します。htcaccess - {HTTP_REFERER}のスライスを使用してRewriteRuleを使用する
http://www.domain.com/section.php?lang=en [for english]
私の最初の目標は、きれいな方法でこれを置くことである、のような:
http://www.domain.com/en/section
私は一種の、.htcaccess経て(いないので、うまく)ということを行うために管理が、その後、私は二つの問題を思い付く:
私が使用する言語を識別するために、すべてのページが欲しいですHTTP_REFERERを見てください(that is poss誰かがオフになっている場合に備えて、私はセッションや料理に頼る必要はありません。
これを:私は同時に、書き換えることhtcaccessを伝えることができますどのように
...他のオプションは、すべてのhrefの前に/現在の言語/ ENをエコーするだろうと思います。
http://www.domain.com/path/to/whatever.php?lang=en&var1=a&var2=b
そして、この:
へhttp://www.domain.com/XX/path/to/whatever/?var1=a&var2=b
http://www.domain.com/assets/js/functions.js?lang=en
や他の言葉で:
http://www.domain.com/XX/assets/js/functions.js
へのパスが正しいドメイン名の後に2文字のフォルダがあり、拡張子がない
場合、削除2文字のフォルダを作成し、パスの最後に.phpを追加して、次に?lang = XXと入力したGET変数を追加します。それが独自のindex.phpを持つフォルダとして存在するかどうかを最初に確認できますか? ?
パスが右ドメイン名の後に2文字のフォルダがあり、拡張子を持って、同じことを行うが、
元の拡張子を維持した場合、私はそれが尋ねる長い質問です知っています、しかし、私は本当に私はそれについて多くのことを読んで...ここに失ったんだけど、REGEX/htaccessのは、私だけのためにあまりにも厳しいです...私は希望なし延長部分については任意のヘルプ
現在のURLを見れば、リファラーを見たいのですが?それとも、別のサイトから来ている人が自分の言語でページにリダイレクトされるようにしたいのですか?より良い方法は、refererの代わりにAccept-Languageヘッダを見ることです。 – Gerben