下階層にあるwordpressをrootディレクトリに設定するときに気をつけること

こんばんわ。

先ほど、既存サイトをフルリニューアルした
wordpressで構築されたサイトを
ルートディレクトリに設定した時に
ちょっとややこしかったので、個人的にメモ。

■環境
さくらのレンタルサーバー

■状況
既存のサイトもwordpressに構築されており、
既にルートディレクトリに配置されてしまっている。
/www/wp-〇〇〇〇/
など
これを開発環境として更に下階層にて展開して構築していた。
/www/ver2/wp-〇〇〇〇/

さて、ここからだけど、単純に/ver2/ディレクトリを
さくらのコンパネから、ドメイン設定で、
該当のドメインのディレクトリを/ver2/に当て込んでしまえば問題はない。

問題は、共用SSLを使用したいという要望。
さくらの場合、サーバーを借りると、初期ドメインというものがもらえる。
ここでは、仮に
dddddd.sakura.ne.jp
としておく。

通常、ルートディレクトリでサイトを展開していれば、
問題なく、SSLのサイトは表示される(コンパネで共用SSLを使用に設定済みと仮定)。
例えば、formというディレクトリがある場合、
https://dddddd.sakura.ne.jp/form/
は問題なく、表示されるということ。

では、前述したようにver2というディレクトリをルートディレクトリとしている場合、どうなるか。
さくらのコンパネ上では、この初期ドメインのルートディレクトリを変更することができないため、
https://dddddd.sakura.ne.jp/ver2/form/
と表示されてしまうため、腑に落ちない。

では、どうするか。

単純に.htaccessにてURLを書き換えてしまうという作業が必要になってくる。
本来のwww/直下に以下を追加すると、
httpアクセスの場合は、ver2ディレクトリをルートディレクトリとして表示し、
httpsアクセスの場合も、ver2ディレクトリをルートディレクトリとして表示してくれる。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^ddddd.sakura.ne.jp$
RewriteCond %{REQUEST_URI} !^/ver2/
RewriteRule (.*) /ver2/$1

まぁ、wordpressに限ったことじゃないんですけどね・・・

Pocket