複数のサブディレクトリ型WordPressの内1サイトをルート表示にする

1ドメインで複数のWordPressを運営したい時はサブディレクトリ型にすることが選択肢に入る。複数のWordPressを1つのドメインで運用しながら、そのうちの1サイトをルート表示へ変更する。

構成図

  • public_html
    • test
      • index.php //ルート表示に変更する
    • test2
      • index.php
    • test3
      • index.php

手順

WordPressを複数インストールする

構成図のように、サーバー上にWordPressを3サイトインストールする。

WordPressにTOPページのURLを教える

ルート表示したいWordPressの管理画面へログインし、設定一般設定へ移動し、サイトアドレスからサブディレクトリ/testを消去する。

WordPressアドレスhttp://test.com/test
※変更しない!
サイトアドレスhttp://test.com/test
 ↓
http://test.com
※最後にスラッシュを付けない

変更を保存する。

http://test.com/testへアクセスすると、404が返ってくるようになる。

サーバーのファイルを編集する

ルート表示したいWordPressフォルダのindex.php.htaccessの編集を行っていくが、詳細はWordPressをサブディレクトリにインストールしてルートで表示するを参照。

ここでは簡易な説明に留める。

testフォルダ内のindex.php.htaccessをローカルにコピーし編集する。

index.php 編集後


/** Loads the WordPress Environment and Template */
require __DIR__ . '/test/wp-blog-header.php';

htaccess 編集後


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

レート直下に保存してサーバーにアップロードすると、ディレクトリ構成は以下のようになる。

  • public_html
    • test
      • .htaccess //コピー元
      • index.php //コピー元
    • test2
    • test3
    • .htaccess //編集後
    • index.php //編集後

サブディレクトリ型WordPressの1つがルート表示される。

アクセスURLと表示サイトのまとめ

http://test.comtestのTOPページ
http://test.com/test404
http://test.com/test2test2のTOPページ
http://test.com/test3test3のTOPページ