サブディレクトリにインストールしたWordPressをルートディレクトリ表示に変更(さくらインターネット編)

WordPress個別サポート

「WordPressのアドレスについているwpを取りたい」

これは西沢直木のIT講座によく持ち込まれる相談です。サブディレクトリにインストールしたWordPressをルートディレクトリで表示させたいということです。

ここでは、さくらインターネットを例に、ドメインのサブディレクトリ(wpというフォルダ)にインストールしたWordPressにルートディレクトリでアクセスできるように変更する方法を紹介します。FTPソフトなどを使わず、さくらインターネットのサーバコントロールパネルから作業することができます。

さくらインターネット以外のレンタルサーバーでも考え方は同じです。

作業の趣旨は、

http://example.com/wp
http://example.com/sample

など、「wp」や「sample」というサブディレクトリにインストールしたWordPressに、

http://example.com/

というドメインのルートディレクトリでアクセスできるように設定しようというものです。

作業が不安な方はWordPress個別サポートをご利用ください。銀座教室またはスカイプで一緒に設定していきます。

WordPressのインストールから始めたい方は、以下の記事を参考にしてください。

さくらインターネットでWordPressをインストールする

サブディレクトリのURLをルートディレクトリに変更

まずは、サイトのURLを変更します。それには、WordPressのダッシュボードにアクセスして、「設定」‐「一般」メニューを選択します。

「サイトアドレス(URL)」からサブディレクトリ名(例:wp)を削除して、「変更を保存」ボタンをクリックします。

つまり、WordPressを表示したいアドレスに変更するということです。

サイトアドレスを変更
サイトアドレスを変更

・現在 → http://yanesen.sakura.tv/wp
・変更後 → http://yanesen.sakura.tv/

「WordPressアドレス(URL)」はそのままです。変更すると面倒なことになるので注意してください。

  • WordPressアドレス --- WordPressをインストールしたURL(変更しない)
  • サイトアドレス --- WordPressを表示するURL(こちらを変更)
ここで作業を終えてしまう方がいますが「サイトアドレスを変更したら画面が真っ白になった」の原因になります。最後まで進めて設定を完了してください。

index.phpと.htaccessを上の階層にコピー

サーバコントロールパネルを開く

さくらインターネット会員用のサーバコントロールパネルを開きます。さくらインターネット以外の場合は同じようなメニュー(例:ロリポップFTPなど)を開いてください。

サーバコントロールパネル
サーバコントロールパネル

ファイルマネージャを開く

左下のメニューから「ファイルマネージャ」を選択します。ファイルを編集するためのツール「ファイルマネージャ」が開きます。

ファイルマネージャ
ファイルマネージャ

WordPressインストール先のフォルダを開く

ファイルマネージャのフォルダをたどりながら、WordPressをインストールしたフォルダを開きます。

WordPressインストールディレクトリを開く
WordPressインストールディレクトリを開く

ファイルをコピーする

画面右側のファイル一覧からindex.phpと.htaccessをチェック(1)して、右クリックメニューから「指定の場所に複製」(2)を選択します。

2つのファイルをルートディレクトリにコピー
2つのファイルをルートディレクトリにコピー

※.htaccessが存在しない場合、index.phpのみのコピーで大丈夫です。

コピー先のフォルダ(1)(ここでは、1つ上の階層のフォルダ)を選択して「OK」ボタン(2)をクリックします。

コピー先のフォルダを選択
コピー先のフォルダを選択

index.phpと.htaccessが、ルートディレクトリにコピーされます。

※上書き確認が表示される場合がありますが、あまり気にしないで大丈夫です。

ルートディレクトリを開いて、index.phpと.htaccessがコピーできたことを確認します。

ルートディレクトリにファイルをコピー
ルートディレクトリにファイルをコピー

index.phpと.htaccessの変更

index.phpの変更

index.phpを右クリックして「編集」を選択します。

index.phpの編集
index.phpの編集

最後の行に、WordPressインストール先のディレクトリ名を追加します。これは、ルートディレクトリからWordPressインストール先のディレクトリ(例:wp)を参照するための変更です。

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

・変更後
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );

※追加する文字は「/wp」です。「./wp」と入力しないように注意しましょう。特に、古いバージョン向けのマニュアルには「./wp」と入力するように書かれている場合があります。十分に注意してください。

参考までに古いマニュアルの修正例を紹介しておきます。

▼古いバージョン向けの修正例(このように間違えないように!)
require('./wp/wp-blog-header.php');

変更できたら、「保存」ボタンをクリックして閉じます。「保存」ボタンがクリックできない場合は、「閉じる」ボタンをクリックすると変更を破棄するか確認するメッセージが表示されるので、「いいえ」を選択(変更を破棄しない)すると「保存」ボタンをクリックできるようになります。

.htaccessの変更

同じように、.htaccessを開いて編集します。変更するのは2か所で、WordPressインストール先のディレクトリ名を取り除きます(例: /wp/ を / に)。

※.htaccessが存在しない場合は、この手順は不要です。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/ → この行を変更
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L] → この行を変更
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase / → このように変更
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] → このように変更
</IfModule>

その他は直す必要はありません。特に、最後の行「. /index.php」の「.」と「/」の間にある空白を取り除いたりしないように注意してください。

変更後、「保存」ボタンをクリックて閉じます。

作業結果の確認

WordPressサイトを表示確認してみましょう。「wp」が消えたWordPressのトップページが表示されるはずです。

ルートディレクトリにアクセス
ルートディレクトリにアクセス

これで、WordPressをルートディレクトリで表示できるようになりました。
ただし、ダッシュボードはWordPressインストール先の「http://WordPressアドレス/wp/wp-admin」のままなので注意してください。

リダイレクトがうまくいかないときの対策

見た目のURLからはフォルダ名が取れているはずですが、サイト内や検索結果に使われるURLにはフォルダ名が付いている場合があります。

作業の確認として、そのようなURL(例:http://example.com/wp/company)にアクセスしてみて、フォルダなしのURL(例:http://example.com/company)に転送されるか確認する必要があります。

トップページ(例:http://example.com/wp/)やいくつかのサブページにアクセスしてみて、うまくリダイレクトされない場合は.htaccessにリダイレクト用のコードを記述します。

よくわからなければ、Simple 301 Redirectsプラグインなどを使って正しくリダイレクトされるように設定しましょう。

リダイレクトの設定(Simple 301 Redirects)
リダイレクトの設定(Simple 301 Redirects)