WordPress をサブディレクトリ型のマルチサイトで運用するための、セットアップの覚書きです。説明は箇条書きにしてみました。なおWebサーバーはApacheの利用が前提です。WordPress の参考ページは「ネットワークの作成」です。
WordPressのマルチサイト化は、正式には「サイトネットワークの作成」で、1つのWordPressで複数のサイトを利用できるようにする、というものです。
各サイトはURLが同一(同じドメイン)で、サブディレクトリが異なる状態です。複数のサブドメインで利用する場合は、それぞれWordPressをインストールすることになります。
WordPressのイストール
WordPressの本体はできる限りドメインルートのサブディレクトリへ置くようにしてください。これは安易にブルートフォース攻撃を受けないための措置です。
- WordPressをダウンロード・解凍し、サブディレクトリへアップロードする
- データベースを用意し、wp-config-sample.phpを編集後、wp-config.phpで保存する
- サイトのサブディレクトリをアクセスし、WordPressをインストールする
サイト名、管理者ログインユーザー名、パスワードを入力 - インストール後ログインし、サイトアクセスをドメインルートにする
設定画面の一般でサイトアドレス(URL)をドメインルートにする(下図参照) - index.phpのwp-blog-header.php読み込みパスを変更しドメインルートへ移動する(下図参照)
- サンプルページなどドメインルートからのアクセスを確認する
エラーになるようなら設定のパーマリンク再保存などリフレッシュする


サイトネットワークの作成(マルチサイト化)
- wp-config.phpファイルに定数「WP_ALLOW_MULTISITE」を「true」で宣言するdefine(‘WP_ALLOW_MULTISITE’, true);
- ログインし直し、ツールの「サイトネットワークの設置」からインストールする(下図参照)
- インストール実行でwp-config.phpと.htaccessの書き替え情報が表示される(下図参照)
- ネットワーク構成ルールをwp-config.phpファイルに追加する
- ドメインルートにある.htaccessファイルのルールを書き替える
- アクセスし直して終了

Ver.4.9.5で動作中の画面です。


「wp-config.php」に追加する定義文は、「WP_ALLOW_MULTISITE」を設定した行の下に挿入すればOKです。
「.htaccess」ファイルの書き換えは、記号「#」が記述されたWordPressの設定範囲コメント行の記述がある場合は、その内側の設定全部を置き換えてしまいます。
「<IfModule mod_rewrite.c>」の記述がある場合、「</IfModule>」の内側を置き換えます。