こんにちは、咲矢です。
今回は、WordPress環境でサイトをSSL化したのに上手くいかない場合の対処について紹介したいと思います。
サイトをSSL化した場合、元のhttpサイトからhttpsサイトに訪問者を流すために301リダイレクトを使用すると思います。
設定したらご自身でちゃんとリダイレクトできているか確認していることでしょう。
しかし、
最初はちゃんとリダイレクト設定をできていたのにいつの間にかhttpサイトが丸見えに!?
そんな事態に僕自身が遭遇したので、同じ状況の方にお伝えできればと思います。
■.htaccessを開く
WordPressをインストールしたルートディレクトリに.htaccessという設定ファイルがあります。
それを編集します。
アクセス・編集の方法はサーバー環境ごとに異なるかと思いますので、ご自身の環境でのやり方を調べていただきたいと思います。
■.htaccessを編集する
.htaccessを開いたら、その最上部に
1 2 3 4 5 | <IfModulemod_rewrite.c> RewriteEngineon RewriteCond%{HTTPS}off RewriteRule^(.*)$https://%{HTTP_HOST}%{REQUEST_URI}[R=301,L] </IfModule> |
を記述(追記)します。
■.htaccessを編集する際の注意点
編集前の.htaccessの中身を見ると
1 2 3 4 5 6 7 8 9 10 11 | # BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 # これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。 <IfModulemod_rewrite.c> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ </IfModule> # END WordPress |
という記述があります。(コードの中身は省略した表記です)
この「# BEGIN WordPress」から「# END WordPress」までの範囲はWordPressが内部で管理している部分です。
したがって、この部分にリダイレクトするためのコードを追加しても、WordPressで何かしら設定の変更を行うと、上書きされて消えてしまう場合があります。
なので、コードの追加はこの範囲外にする必要があります。
.htaccessを編集する際にコードの追加を最上部に行ったのはそのためです。
これで設定完了です。
■まとめ
今回の失敗は僕がよく見ていなかっただけといえばそこまでです。
しかし、WordPressを始めたばかりの方はWebの記事や動画などを参考に設定を進める場合が多いでしょう。
そんな方は(僕もですが)ハマりやすいのではなかと思い記事にしました。
参考になれば幸いです。
ここまでご覧いただきありがとうございました。
コメント