あなたは世界的にあなたの国のセッションを保存してから、ヘッダ/ブートストラップファイルでそれを参照するようにしたいと思います。
URLをデフォルトのGBに構成する方法を決定するために、私は個人的にswitch文を実行します。
session_start();
// Assuming your country has come in from a validated form post.
$urlBit = $_POST['country'];
switch($urlBit) {
case 'de':
$country = $urlBit;
break;
case 'es':
$country = $urlBit;
break;
default:
$country = 'gb';
break;
}
$_SESSION['country'] = $country;
その逆について、あなたは文字列にURLを入れて、文字列内の「/デ/」、「/ GB /」を探すためにいくつかのコードを書くことができます。
また、スイッチのステートメントに戻って処理し、結果を知ると、次に、すべて$_SESSION['country']
を使用して保存します。
session_start();
// Assumed URL structure.
$url = 'http://www.website.com/de/';
// The switcheroo.
$urlParts = explode('/', $url);
$urlBit = $urlParts[3]; // Returns 'de'
// The same switch as above. Stick it in a function or class/method, maybe.
switch($urlBit) {
case 'de':
$country = $urlBit;
break;
case 'es':
$country = $urlBit;
break;
default:
$country = 'gb';
break;
}
$_SESSION['country'] = $country;
これは私が最初のコードを見ることなく提供できる最良の答えですが、この単純なロジックを使用して、上記を実装する方法を知っていたと仮定すると、あなたの問題を解決するだろう。
あなたはhtaccessなしで簡単にこれを行うことができますが、コードを見ずに言うのは難しいです。
コードを表示する必要があります。基本的には、言語を処理するためのベースコントローラーが必要です。ルーティング機能はユーザーをベースコントローラーに誘導し、コントローラーはURLを設定してセッションを設定します。 – wolfrevo
'$ _SERVER ['request_uri']'でURIを取得し、文字列から部分を取得してセッションに保存します。 – Bsienn