ワードプレスで効率よくサイトやブログを作成するにはネットワークインストールが便利です。1インストールで複数のサイト・ブログを作成できるようになります。今回紹介するのはサブディレクトリ形式です。なお、ワードプレスで複数のサイトを作成することは、「マルチサイト化」や「ネットワークの有効化」とも呼ばれています。当ページでは、マルチサイト化と表記しますね。
それでは行ってみましょう。
サブディレクトリ形式の注意点
サブディレクトリ形式のインストールは新規インストールでなければインストールできません。
新規インストールではないため、WordPress ネットワーク内のサイトはサブドメインを使う必要があります。 メインサイトをサブディレクトリにインストールしている場合、修正したパーマリンク構造を使う必要があり、現存リンクを壊してしまう可能性もあります。
ワードプレスのマルチサイト化
ワードプレスをマルチサイト化するのあたって、やることは大木分けて以降は、自己責任でお願いします。
ファイル「wp-config.php」の編集
ワードプレスをインストールした後、wp-config.phpというファイルに「
define('WP_ALLOW_MULTISITE', true);
」を追加します。私が追加している箇所は以下の通りです。
[...]
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
define('WP_ALLOW_MULTISITE', true);
/**#@+
* 認証用ユニークキー
[...]
ファイル「wp-config.php」と「.htaccess」にソースコードを追加
wp-config.phpの編集と保存が完了したら、ワードプレス管理画面の左メニュー「ツール → ネットワークの作成」をクリックします。さらにサブディレクトリを選択してインストールボタンをクリック、画面に表示されている通り、ファイル「wp-config.php」と「.htaccess」にソースコードを追加します。
・wp-config.php
[...]
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define('DB_COLLATE', '');
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '[ドメイン名]');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/**#@+
* 認証用ユニークキー
[...]
・.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
を以下のように変更します。
# BEGIN WordPress
RewriteEngine On
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]
# END WordPress
ログインしなおすとネットワークの有効化と設定が完了、マルチサイト化が完了です。
コアサーバーは# BEGIN WordPressの前に記述する必要があるようです。
ページの自動転送設定が正しくありません…
子サイトを作成してダッシュボードを表示しようとすると「ページの自動転送設定が正しくありません このアドレスへのリクエストに対するサーバの自動転送設定がループしています」というメッセージが表示された場合、.htaccess内の[ドメイン名]/$2を$2に修正するとダッシュボードが表示されるようになります。
サブディレクトリ形式でインストールした場合、子サイトのディレクトリ名とトップディレクトリの固定ページが重複するのを避けるため、パーマリンクを”/”のディレクトリ形式ではなく”.html”のファイル形式にして対応しています。
コアサーバーで「ページの自動転送設定が正しくありません」となる場合はファイル.htaccessの「# BEGIN WordPress」より前にソースコードを記述するとなおりました。
マルチサイト化の解除 (もとに戻すには?)
マルチサイト化したワードプレスサイトをもとに戻す場合は、以下のページを参考にしています。実際にやってみたのですが、思ったよりも簡単でした。データベースを操作するときは慎重に!
コメント