WordPress マルチサイト構築方法 – サブディレクトリ
WordPress マルチサイト機能とは
ひとつのサーバ、ひとつのドメイン、ひとつのWordPressプログラムで複数のサイトを運営できる機能です。WordPressのマルチサイト機能には2種類あります。
- サブディレクトリ型 example.com/site1 example.com/site2 example.com/site3…..
- サブドメイン型 site1.example.com site2.example.com site3.example.com……
今回は、ひとつのWordPressで階層によっては違った雰囲気を出すために、個別のテーマを使うような場合を想定し。サブディレクトリ型のマルチサイト機能を説明します。
サブディレクトリ型 マルチサイトとは
例えば、example.comというサイトをWordPressで構築します。そのサイトの中のexample.com/site1やexample.com/site2を個別のサイトとして取り扱えるのです。
マルチサイトの設定方法
設定ファイルの編集
使用しているサーバのWordPressをインストールしているディレクトリに wp-config.php という設定ファイルがあります。このファイルを編集します。
/wordpress/wp-config.php の86行目あたりに
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
このような行があります。この行の上あたりに
define('WP_ALLOW_MULTISITE', true);
という1行を追加しましょう。
wp-config.php 記入例
/**
* 開発者へ: WordPress デバッグモード
*
* この値を true にすると、開発中に注意 (notice) を表示します。
* テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
*
* その他のデバッグに利用できる定数については Codex をご覧ください。
*
* @link http://wpdocs.osdn.jp/WordPress%E3%81%A7%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0
*/
define('WP_DEBUG', false);
/* マルチサイトの設定 */
define('WP_ALLOW_MULTISITE', true);
/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
サイトネットワークの設置
wp-config.php の編集が終わり保存が完了したら、WordPress のダッシュボードを再読み込み・リロードしてください。
ダッシュボード > ツール の項目に『ネットワークの設置』というメニューがあらわれますので、選んでクリックしてください。
サイトネットワークの作成
これからサイトネットワークのインストールを行います。ここでは、サブディレクトリ型を選びます。
わかりやすいサイトネットワーク名と管理者もメールアドレスを入力したら、インストールボタンをクリックしてインストールを行ってください。
サイトネットワークの有効化
サイトネットワーク作成機能を有効化するために、以下の二つのファイルを修正します。
- 最初に行った設定ファイル・wp-comfig.phpの設定箇所にさらに追加します。
設定例define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'demo.japanbookmark.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
/* マルチサイトの設定 */ define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false); define('DOMAIN_CURRENT_SITE', 'demo.japanbookmark.com'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);/* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */
- WordPressを設置したディレクトリの一番上の階層(indec.phpが有る階層)に.htaccessというファイルがあります。そのファイルを修正します。
WordPress設置時に自動的に書き込まれたWordPressに関する記述を、下記内容に置き換えます。
最初の設定は念のため、コメントアウトして残しておきましょう。
.htaccess 編集前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]
.htaccess 編集後# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]# END WordPress
# BEGIN WordPress # # RewriteEngine On # RewriteBase / # RewriteRule ^index\.php$ - [L] # RewriteCond %{REQUEST_FILENAME} !-f # RewriteCond %{REQUEST_FILENAME} !-d # RewriteRule . /index.php [L] ## END WordPressRewriteEngine 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]
設定ファイルの修正・保存が完了したら再度、WorsPressの管理画面にログインしなおします。
WordPress マルチサイト機能の設定完了
再度ログインを行ったら、管理画面に以下のマルチサイト機能(参加サイトの文字)が現れます。
最近のコメント