まず、私の状況を説明させてください。私は 2 つのドメイン、2 つの Web サイト、同じレイアウトですが、異なるコンテンツと異なる目的を持っています。私がしたいこと:
これら 2 つのシステム間で共有:
- 機能、レイアウト テンプレート、および管理。
違い:
- ビュー内のページ、いくつかのコントローラー。
私が検討したオプション:
オプション1
- 2 つのサイトのいずれかをプラグインにする
- ホスト名: $_SERVER['HTTP_HOST'] を確認し、プラグインを使用するかどうかをコアまたはブートストラップで示します。
このようなもの:
if ($_SERVER['HTTP_HOST'] == 'www.example1.com') {
Configure::write('defaultplugin', 'example1');
} else {
Configure::write('defaultplugin', null);
}
これは可能ですか
オプション 2
仮想アドレスですが、ルーティングが次のように構成されているため、これも実現が困難です。
Router::connect("/{$prefix}/:language/:plugin", $indexParams, $shortParams);
たぶん、このルートを次のように変更する必要があります。
Router::connect("/{$prefix}/:plugin/:language", $indexParams, $shortParams);
しかし、以前の提案が可能であれば、それを希望します。なぜなら、最後の解決策がいくつかのレベルで正しく機能するかどうかわからないからです。
オプション 3
ここで説明されている方法を使用してください: http://rickguyer.com/cakephp-one-core-many-apps/
したがって、example1、example2、common の 3 つのアプリ フォルダーを作成します。しかし、app フォルダーを example1 と common または example2 と common の内容で構成できるかどうかはわかりません。
オプション 4
ここStackoverflowの誰かからの素晴らしいアイデア。
前もって感謝します!