レンタルサーバーのWordPress簡単インストール機能などでWordPressをインストールすると、
https://example.com/wp/
のように、ドメイン名の下に/wp/などのディレクトリができて、そこにインストールされることが多いです。
これを、
https://example.com/
と、ドメインそのまま、/wp/なしでも表示できるようにする方法を、自分の備忘を兼ねてまとめています。
(なんどもやっていることなんですが、今回すっかり忘れていたので 笑)
WordPress管理画面での設定
WordPressにログインして、左側のメニューから「設定⇒一般」を開きます。
WordPressアドレスとサイトアドレスは、どちらもWordPressをインストールした/wpなどのサブディレクトリが付いた状態になっています。
「サイトアドレス」というのが、サイトを表示するアドレスなので、こちらのURLから/wpを削除して、「変更を保存」をクリックします。
くれぐれも「WordPressアドレス」をいじらないように!
ここまでの段階では、サイトを表示しようとすると、こういうエラーがでます。
(使用しているレンタルサーバーによってメッセージは違います)
というか、私は、この次にやることを忘れていて、
どうしてサイトが表示できないのだろう?
と3分くらい悩みました・・・
indes.phpを移動する
https://example.com/wp/index.php
を、
1.編集して
2.https://example.com/ に移動します。
index.phpの編集を間違えると、WordPressの管理画面にログインできなくなったりしますので、ダウンロードして、バックアップを取ってから変更を加えることをお勧めします。
ダウンロードやアップロードには、ffftpを使うか、レンタルサーバーのファイルマネージャーを使います。
初心者の方で、FTP情報をffftpに設定するのが「?」な方はサーバーのファイルマネージャーを使った方がいいかもしれません。
(ffftpの使い方もいずれ覚えたほうがいいですが)
私は、ffftpを使いました。
/exsample.com/public_html/wp
内の、index.phpをダウンロードします。
ダウンロードしたindex.phpをエディタで開き、
require( dirname( __FILE__ ) . ‘/wp-blog-header.php’ );
を
require( dirname( __FILE__ ) . ‘/wp/wp-blog-header.php’ );
に書き換えて保存します。
書き換えて保存したindex.phpを、
/exsample.com/public_html/
にアップロードして、
/exsample.com/public_html/
に元から会ったindex.htmlを削除します。
/exsample.com/public_html/wp
のindex.phpはそのままで大丈夫です。
/wpへのアクセスをリダイレクトする
https://exsample.com/wp
に直接アクセスされた場合に、
https://exsample.com/
にリダイレクトするため、
1. .htaccessに追記をして、
2. /exsample.com/public_html/にアップロードします。
もともと、https://exsample.com/wp である程度の期間運用しているのでなければ、
https://exsample.com/wpで被リンクがついていないし、https://exsample.com/wpで直接アクセスしてくる人もいないので、この手順はやらなくていいです。
/exsample.com/public_html/.htaccess
をダウンロードします。
.htaccessの編集を間違えると、サイトが表示されなくなったりすることがありますので、ダウンロードして、バックアップを取ってから変更を加えることをお勧めします。
.htaccessファイルに、
RewriteEngine On
RewriteRule ^(wp/|wp)$ http://example.com/ [R=301,L]
または
RewriteEngine On
RewriteRule ^(wp/|wp)$ / [R=301,L]
と追記して、 /exsample.com/public_html/にアップロードします。
まとめ
WordPressアドレスとサイトアドレスの意味と違いは覚えていたんですけれど、
index.phpを変えるのを忘れていました・・・
もし、indexファイルの編集と /exsample.com/public_html/ へのアップロード、index.hmtlの削除を行ってもまだエラーが出る場合は、ブラウザのキャッシュを削除してください。