こんにちは、最近サイトを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
以上です。
僕と同じことで困っている人がいたら参考にしていただけたら幸いです。