WPサイト(wpXサーバー)をhtaccessでhttpsにリダイレクトしたけど、トップページ以外がリダイレクトされないときの対処法

こんにちは、最近サイトをSSL化対応したらPVが減少している、バケル(@bakerukun007)です。

今回は、ブログをSSL化するときにちょっとつまづいたことがありましたので記載したいと思います。

ちなみに、この僕のサイトはCMSはWordPressで、サーバは、wpXレンタルサーバー エックスサーバー を使っていますが、どちらも同じ方法で解決できました。

問題の現象

SSL化のためにhttpからhttpsにリダイレクト処理を入れたけど、トップページ以外(下階層ページ)がリダイレクトされない

まず、僕が陥った現象を説明しますと、SSL化のためにhttpからhttpsにリダイレクト処理しようと思い、htaccessに以下の記述を行いました。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

httpでアクセスされたら、強制的にhttpsに接続しなおしてね、っていう命令です。

これをhtaccessの一番下に記載したところ、トップページはリダイレクトされますが、下階層ページがリダイレクトされないという状況に陥りました。

解決策

httpsへのリダイレクト処理の記載は、一番上に書く

少し調べたところ、どうやら上記の記述をhtaccessの一番下に書いたのが良くなかったみたいです。

なので、こんな感じ(↓)にWordPressをインストールしたときに書き出された記述よりも前に、httpsへのリダイレクト処理を記載したところ、問題なく下階層もリダイレクトされるようになりました。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

以上です。

僕と同じことで困っている人がいたら参考にしていただけたら幸いです。



スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です