ロリポップでの複数のWordPressへのマルチドメイン

ロリポップのサーバにWordPressを2つ入れてそれぞれに独自ドメインを
割り当てようとしたところ、予想外に手間取ってしまったので、その備考録。

なぜWPでマルチサイトにしなかったのかは、作った時期が違っていたのと
同じクライアントさんだけど、別サービスで別担当者だったためです。

まず構成としては、元々「http://hogehoge.com」として使用しているサーバに
静的サイトで一つサイトで運営していて、その下にディレクトリを一つ作って
WPをインストールして「http://hogehoge.com/service」として運営していました。

これを、「http://hogehoge.com」の静的サイトもWPにして
かつ「http://hogehoge.com/service」を「http://service.com/」のように
別ドメインを割り当てようとしました。
実は別のサイトでも同じサーバ内の別WPに別ドメインを割り当てたことがあるので
軽く考えていたんですが、思いもかけずつまづいてしまいました。
構成

図のように
「http://hogehoge.com/main」にインストールしたWPに「http://hogehoge.com/」
元々の「http://hogehoge.com/service」のWPに「http://service.com/」

にしようと、ロリポップ側でドメインの設定すると、
「http://hogehoge.com/main」に「http://hogehoge.com/」を
割り当てると、「http://hogehoge.com/service」が500エラーが連発で
アクセスできなくなってしまいました。

そのためWPにログインもできなくなったので
phpMyAdminに入って直接MySQLのデータを変更してなんとか復旧。

原因を考えると別のところで運営しているマルチドメインは
一つのWPをルートディレクトリにインストールして、
もう一つを別ディレクトリにしているので、
「http://hogehoge.com/」を特定のディレクトリに割り当てると
他のディレクトリへのパスが変わってしまうか、ということなのか。

できていた方

考えてみれば当然なのですが、念のためロリポップに問い合わせて
「http://hogehoge.com/main」に「http://hogehoge.com/」を
割り当てると、他のディレクトリは「http://hogehoge.com/main」以下になる
という回答を得ました。

そこで先に「http://hogehoge.com/service」を「http://service.com/」を設定、
問題なくアクセスできることを確認。

次に、「http://hogehoge.com/main」はロリポップでのドメインの設定をしないで
「/main」内の「index.php」を一つ上(ここではルート直下)にコピー。
「index.php」ファイルの一番下の

require( dirname( __FILE__ ) . '/wp-blog-header.php' );

require( dirname( __FILE__ ) . '/main/wp-blog-header.php' )

とパスを変更。

更に「/main」内の「.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

の「RewriteBase /」の項目と「RewriteRule 」の項目のパスを
「/main」の下になるように

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /main/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /main/index.php [L]
</IfModule>
# END WordPress

と変更。

もちろん、WordPressのダッシュボードの「一般設定」も変更。
ここを間違えるとまたphpMyAdminにもぐらなればなりません。
wp_03

ここでは「/main」と指定。
ただし、「http://service.com/」の方はどちらも「http://service.com/」でOK。
そのかわり、「http://hogehoge.com/」にログインするときは
「http://hogehoge.com/main/wp-login」
にアクセスする必要があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です