勉強がてらワードプレスで、マルチサイトを作ってみようとやってみた。
1つのWordPressで、複数のWordPressを操作したい。
少し前のバージョンでは、ディレクトリ型がデフォルトだったり、ディレクトリ型とサブドメイン型が選べたりしたのだが、バージョン5.7.2 のワードプレスのデフォルトは、サブドメインで作るようだ。
ここ最近、マルチドメインのやり方ってコロコロ変わってる気がする。
ドメインを強化したいので、ディレクトリ型でマルチにWordpressを設置したい時の備忘録。
wp-config.phpに追記
下記を追記する。
/*Multisite 追記*/
define('WP_ALLOW_MULTISITE', true);
場所はここ

/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
の上が良い。
再ログインして、設定する
wp-config.phpを、WinSCPなどのソフトでサーバーへアップロードし、ワードプレスにログインする。
「ツール」→「サイトネットワーク設定」だかに進み。画面の内容に従って進む。
サイトネットワークをインストールするって流れです。
wp-config.php に更に追記してアップロード
そのままコピーしたのでは「ディレクトリ型」でマルチサイト化できない。
一部を変更してからコピーする
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '8de1.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define(‘SUBDOMAIN_INSTALL’, false);
ここをfalseに書き換える。

ペーストする場所は、さっきの下くらいで良い。
.htaccess に追記してアップロード
# MultiSite 追記
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
を追記する。

追記は、一番下で良い。
同じ内容があれば、内容をそっくり上からコピーしてしまってOK。
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
デフォルトだとここが異なるので注意。
ここを、デフォルトのコードのままにしてしまうと、新規で作成したサイトのダッシュボードを開こうとしても、URL転送が繰り返され、編集ができない。
.htaccessのリダイレクトの確認
define(‘SUBDOMAIN_INSTALL’, false);
追記してアップロードすると、管理画面でも確認できるようになる。

「サイトネットワーク」の「ダッシュボード」を開き。
「設定」→「サイトネットワークの設置」で、いつでも確認できる。