サブフォルダ(サブドメインではない)で公開していたサイトのURLを、ルートドメインで公開するには、どうすればよいでしょうか?本記事で考察してみました。
ルートドメインとは、レンタルサーバーで一番最初に与えられる場所のことで、ロリポップだと ∠ で表されます。直下(ちょっか)などとも呼ばれます。
複数のサイトを運営する場合、ディレクトリ(フォルダ)の中にWordPress(略称WP)をインストールしますので、ルートドメインは何もないのが健全な状態です。
しかし、いわゆる初期ドメイン(レンタルサーバーから無料で与えられるドメイン※)でそれを(ディレクトリにインストールしたWP)運営する場合、ドメイン名が以下のようになります。
https://cogefra.work
これは本サイトの旧アドレスになります。この /destination という所が、destinationフォルダで公開していますよ!という意味になります。
※レンタルサーバーから無料で与えられる初期ドメインは、既にサブドメイン(edf.oops.jpだったら、oops.jpのサブドメインになっている)なので、サブサブドメインを許していないレンタルサーバーでは、もはやサブディレクトリでの公開しか手段はないのです(ルートドメインを使いたくないなら)。
ルートドメインで公開したい
さて、ルートドメイン公開とは上記の例では、以下のようにアドレスを変更することです。
サブフォルダ公開 https://cogefra.work
↓
ルートドメイン公開 https://edf.oops.jp
一般化していうと以下のようになります。
サブフォルダ公開 https://xxxx.com/*****
↓
ルートドメイン公開 https://xxxx.com
参考にしたサイト
このテクニック(サブディレクトリで公開していたサイトを、ルートドメインにURLに切り替える)は、既にいろいろな所で説明されおり、本記事でも(また私=管理人がURLを切り替える際にも)大いに参照させてもらいました。



ほぼ同じ方法が説かれており、以下のようにまとめられます。
Step 1:サブディレクトリにある.htaccessファイルをルートドメインにコピペし編集
最初の作業は、サブディレクトリにある.htaccessファイルをルートドメインにコピーペーストして(コピペなのでサブフォルダにあったものは消さないこと!)編集することです。
上掲サイトでは、このコピペ(そして編集)を以下のように説明しています。
①FilleZillaなどを使いローカル(自分のPC)にダウンロードして、
②編集してから、
③再アップロード(FilleZillaなどFTPソフト)する
しかし、ロリポップならサーバー内でファイルのコピペができるので、その必要はありません。
重要なのは編集で、以下のように.htaccessファイル(ルートドメインにコピペしたもの)を書き換えます。
元々のコピペした直後のサブフォルダにあった☟こちらの箇所に注目します。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /destination/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /destination/index.php [L]
</IfModule>
/destinationは本サイト固有のサブフォルダの言い回しですから一般には、/*****としか言いようがありません。
さて、上記☝を☟以下のように書き換えます。
<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>
つまりdestination/を消すわけです!
半角アケなどにも注意してください!
Step 2:サブディレクトリにある.index.phpファイルをルートドメインにコピペし編集
次の作業は、サブディレクトリにある.index.phpファイルをルートドメインにコピペし(コピペなのでサブフォルダにあったものは消さないこと!)編集することです。
その編集は以下のように説明されます。
<?php
/**
* Front to the WordPress application. This file doesn’t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*//**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( ‘WP_USE_THEMES’, true );/** Loads the WordPress Environment and Template */
require __DIR__ . ‘/wp-blog-header.php’;
これ☝を、以下のように☟編集します。
<?php
/**
* Front to the WordPress application. This file doesn’t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*//**
* Tells WordPress to load the WordPress theme and output it.
*
* @var bool
*/
define( ‘WP_USE_THEMES’, true );/** Loads the WordPress Environment and Template */
require __DIR__ . ‘/destination/wp-blog-header.php’;
要するに最後の行に/destinationを加えるわけです!
その他の作業
上記の作業をレンタルサーバーの側で行います。
他方でWP管理画面では、以下のことをやってください。
① 左欄【設定】→【一般】でサイトアドレス(URL)だけを、cogefra.workから、edf.oops.jpに変える。一般化していえば、xxxx.com/*****から、xxxx.comに変える。
② 左欄【設定】→【パーリンク】に行き、なにもせずに、画面一番下の【変更】だけ押下(おうか=左クリック)。
作業順?
作業順ですが、以下のようにするのが無難かもしれません。
1 WP管理画面でのサイトアドレス(URL)変更
2 .htaccessとindex.phpファイルのコピペと修正
3 WP管理画面でのパーマリンクをただ【変更】ボタンクリック
私(管理人)は順番出鱈目でしたけれども、特に障害は起きませんでした。
作業前にバックアップを忘れずに!
作業前にサイトのデータを保存しておくことを忘れないでください。
引っ越しの要領で復旧もできます☝



コメント(ディスカッション)