前回の記事でWebサーバーがSSLに対応したので、httpからhttpsにリダイレクトさせてみる。
レンタルサーバでもHTTPS(SSL)が無料で使える時代が来た! | minory
遂に来ました!SSL証明書の無料化!証明書ごときになぜそこまで高いお金を払わないといけないのか、ずっと疑問に思っていました。(偏見)まぁ、サイトの信頼をお金で買う...
目次
WordPressをhttpsリダイレクト
まずは、WordPressを利用している当ブログをhttpsにリダイレクトしてみよう!
WordPressを利用している場合、「設定」>「一般」にある以下の項目を「https」に変更する。
- WordPress アドレス (URL)
- サイトアドレス (URL)
しかし、これだけではhttp側にもアクセスできてしまうので、プラグインやhtaccessを利用してhttpsにリダイレクトさせる必要がある。
何を使うか少し迷ったが、当初は/wp-admin
や/contact
など特定のURLに絞ってhttpsへリダイレクトさせたかったため、htaccessで変更することにした。
特定のURLのみリダイレクトさせる方法
1 2 3 4 5 6 7 |
RewriteEngine On RewriteCond %{REQUEST_URI} .*/wp-login.php.*$ [OR] RewriteCond %{REQUEST_URI} .*/wp-admin/.*$ [OR] RewriteCond %{REQUEST_URI} .*/contact.*$ RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] |
ところが設定してみると、上記以外のURLでもhttpsになること、逆の条件を書き足したらできたと思いきや、管理画面でレイアウトが崩れていた。
原因は、httpsの中にhttpから始まるCSSやJavaScriptの読み込みが混在していることで、ブラウザの読み込みエラーが大量発生していた。
なので、今度はcssやjs、画像(jpg、png、gif)ファイルの設定も追加してあげないといけない…。さすがに面倒なので、オールhttpsにすることで最終的に落ち着いた。
Google先生もSSL化を推奨しているようで、SEO的にも効果があるとかないとか。
すべてのページをhttpsへリダイレクト
1 2 3 4 |
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
WordPressのプラグインを使う
WordPressのプラグインを使うなら、名前の通りシンプルな「Really Simple SSL」で十分だろう。
他にも細かく設定できるプラグインもあるが、どちらにしろ設定はしなければなりません。
ちなみに、SEO的には301でリダイレクトした方が良いらしい。
リダイレクトチェックツールがあるので参考までに。
コメント