2019-12-30

Craft CMS のマルチサイトのフォルダ構成と必要ファイル #craftcms

マルチサイトの基本を書いたのだけど、実際にどういう構成にするかを書いていなかったので追記しておく。

インストールは @tinybeans のエントリを参考にしたという想定。

カラフルボックスで始める - はじめての Craft CMS (3) 「Craft CMS のインストール」 | Craft CMS | かたつむりくんのWWW
https://tinybeans.net/blog/201...

なので、階層としてはこのようになっているイメージ。

multisite_test/ <= Craft CMS をインストールしたところ(プロジェクトルートディレクトリ)
public_html/
    multisite_test/ <= multisite-test.example.com のドキュメントルート

~/multisite_test

~/public_html/multisite_test

この状態で、別ドメイン(今回はサブドメイン)のサイト multisite-test2.example.com を追加する場合、

multisite_test/ <= Craft CMS をインストールしたところ(プロジェクトルートディレクトリ)
public_html/
    multisite_test/ <= multisite-test.example.com のドキュメントルート
    multisite_test2/ <= multisite-test2.example.com のドキュメントルート

このようなディレクトリの構成になる。

multisite_test2 には multisite_test にあった index.php, .htaccess をコピーする。

キャプチャは他のも入ってしまっているが、 index.php, .htaccess があれば問題ない。

サイト | Craft 3 ドキュメント
https://docs.craftcms.com/v3/j...

別ドメインのドキュメントルートが別の階層にある場合は index.php の CRAFT_BASE_PATH の設定も変更する必要。

define('CRAFT_BASE_PATH', dirname(__DIR__).'/multisite_test');

Craft CMS のサイト設定

Craft CMS のサイトの設定としてはこのようになっている。

先日も書いたが、テンプレートの管理としてはサイトのハンドル名のフォルダ配下におく形になる。

これで、それぞれのドメインにアクセスした時に、それぞれのテンプレート(この場合は index.twig )が利用される。