私はこれをやったことがないので、問題に直面したかのように問題にどのようにアプローチするかを説明しようとしているだけです.
まず、サーバーのセットアップから始めて、すべてのドメインが 1 つの単一のアプリケーションを指すようにします (既に配置されていると仮定します)。
次に、 でlanguage を設定するbootstrap.php
ときに、Web サイトにアクセスする URL に基づいて言語を定義するヘルパー関数を使用すると、ブートストラップはおそらく次のようになります。
/**
* Set the default language
*/
I18n::lang(MyApp::get_request_language_code());
MyApp::get_request_language_code()
I18n クラスに使用される言語コードに一致する文字列を返すことを期待しています。このヘルパーは、URL が無効な場合 (xxx.example.com など) にもリクエストをリダイレクトする必要があります。
次に、おそらく次を使用してベース URL を設定し$_SERVER['HTTP_HOST']
ます。
Kohana::init(array(
'base_url' => $_SERVER['HTTP_HOST'],
));
または、実際のドメインと連結するドメインプレフィックスを返す別のヘルパー関数があります。
Kohana::init(array(
'base_url' => MyApp::get_request_language_url_prefix().'example.com',
));
Kohana::init() 中に言語プレフィックスを使用してドメイン名を設定することによりbase_url
、ルートまたは URL クラスのいずれかを使用して生成されたすべての URL に適切な言語が含まれていることを確認します。
そして、それが私が自分の問題を解決しようとする方法です。繰り返しますが、ここでは問題の解決策を見つけようとしているだけであり、上記のアプローチはテストされていないことを強調したいと思います。