ルートディレクトリにあるWordPressをサブディレクトリへ移動

このサイトでは何も考えずに、WordPressをルートディレクトリにインストールしていました。
これをそのまま、サブディレクトリに移動させます。

こんなこと、何度も何度もする予定は全くありませんが、備忘録です。

  • ルート「/」から、サブディレクトリ「/(サブディレクトリ名)/」へWordPressを移動
  • でも、URLはルートのまま「https://4sonota.com/(記事名)」

WordPressをインストールし直さなくても、大丈夫です。

丸ごとお引越し。でも外から見てもわからない

準備をしてから丸ごと移動させて、設定を少し変えるだけです。

まずは下準備!

  1. 移動先のディレクトリを作成(フォルダ作成)
  2. ワードプレスの管理画面からURLの設定を変更

ルートディレクトリにフォルダを作成します。
ここが移動先の、サブディレクトリになります。

ルートディレクトリと言っても、私の使っているエックスサーバーでは「public_html/」がルートになります。
ですから正確には、「4sonota.com/public_html/(サブディレクトリ名)」です。
この辺は、サーバーによって違うんでしょうね。

フォルダを作ったら、ワードプレスの管理画面から「設定」→「一般設定」を開きます。

WordPress のアドレス(URL)欄を、移動先の新しいURLに変更します。
サイトのアドレス (URL) 欄は、ルートディレクトリのままです。

  • WordPress アドレス(URL) 「https://4sonota.com/(サブディレクトリ名)」
  • サイトアドレス (URL)    「https://4sonota.com」

入力したら、変更を保存します。

保存すると、いきなり「404 Not Found お探しのページは見つかりませんでした。」と表示されて、ちょっとびっくり!
管理画面にアクセスできなくなっているんですね。

試しにホームページへ戻ってみると、勝手にリダイレクトされています。
すごいなWordPress!

でもこのままでは、管理画面にログインできません。
(何か方法あるのかな?)

さっさと移動を済ませましょう。

ファイルもフォルダも丸ごと移動

移動には、おなじみFTPソフトを使います。
私はもっぱら「FileZilla」です。

全部移動させた後で、https://4sonota.com/ にアクセスしてみると、

403 Forbidden

いつもながら、公開したままの作業です。
いくらアクセスの少ないサイトとはいえ、急がないと!

ちなみにこの時点で、管理画面にはログインできるようになりました。

https://4sonota.com/(サブディレクトリ名)/wp-admin

ですけど・・・忘れちゃいそうですね。

ルートに置いておかなきゃいけないファイルをコピー

移動させたサブディレクトリ(WordPressのあるフォルダ)にある2つのファイルを、ルートにコピーします。

元あった場所に戻すのですが、サブディレクトリでも使いますから、あくまで「コピー」です。
移動させちゃあダメですよ。

  • .htaccess
  • index.php

.htacessが存在しない場合は、もちろんコピーもいりません。

単にコピーしただけの状態で、またまたhttps://4sonota.com/ にアクセスしてみましょう。
すると今度は、

警告 & 致命的なエラー

本当に、こんなことしている場合じゃないな。
さすがに急がなきゃ!

index.phpの編集

ルートディレクトリにコピーした、index.phpを編集します。

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

という箇所がありますので、「wp-blog-header.php」の位置を正しく指定してあげます。

require( dirname( __FILE__ ) . ‘/(サブディレクトリ名)/wp-blog-header.php’ );

上書き保存で、はい完成です。

ログイン画面がリダイレクトされるけど・・まあいいか

完成したら、https://4sonota.com/ にアクセスしてみましょう。
本当は、この段階までアクセスする必要はなかったんですけどねw

はい、OKですね。

次に、管理画面に昔のままログインしようとしてみると・・・
ちゃんと新しいログイン画面にリダイレクトされました!

あいかわらずすごいな、WordPress!

便利だとは思いますが、ログイン画面にたどり着きにくくなる方が良かったかな?
セキュリティ上、この機能はなくてもいいのに。

プラグインを使えば機能を止められるけど、そこまでしなくてもいいな。

何でいまさらサブディレクトリに移動させるの?

これでルートがスッキリしました。
フォルダ1個とファイル2個だけです^^v。

  • (サブディレクトリ)・・・フォルダ
  • .htaccess
  • index.php

何でこんなことするかって?

また余計なことを、いろいろ考えているからですよ!

スポンサーリンク