ブログ運営

サブディレクトリ(/wp)にインストールしたWordPressをドメイン直下で表示させる方法


レンタルサーバーのWordPress簡単インストール機能などでWordPressをインストールすると、

https://example.com/wp/

のように、ドメイン名の下に/wp/などのディレクトリができて、そこにインストールされることが多いです。

これを、

https://example.com/

と、ドメインそのまま、/wp/なしでも表示できるようにする方法を、自分の備忘を兼ねてまとめています。
(なんどもやっていることなんですが、今回すっかり忘れていたので 笑)

はるまき
はるまき
この記事ではXserverを使用しているケースを説明しています。レンタルサーバーによって、ドメイン直下とサブディレクトリの構成は違うことがあるので注意してください。

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の削除を行ってもまだエラーが出る場合は、ブラウザのキャッシュを削除してください。

<スポンサーリンク>


この記事のURLをコピーする
footer.php