SSLに対応させる為に、「.htaccess」を使って、httpのURLにアクセスされたときに、自動でhttpsのURLに301リダイレクトする記述と、URLに「www」のあり・なし統一する記述をまとめました。
※作業前に.htaccessのバックアップをしておきましょう!
もくじ
.htaccess関連記事
.htaccessでhttpにアクセスされたときに自動でhttpsに「www」のあり・なし統一して301リダイレクトする
.htaccessと.htpasswdでサイトにベーシック認証(Basic認証)をかける
同じページでもhttpとhttpsは別ページと認識されてしまう
Googleの検索エンジンは、サイト上の同じページを参照していたとしても、httpとhttpsはURLが異なるため、これらのページを別ページと認識してしまいます。
httpとhttpsのどちらでもアクセスできる状態のままだと、評価が分散してしまう可能性があります。
さらに、httpでもアクセスできてしまう状態は、SSL対応ができていないため送信情報を暗号化できないどころか、WordPressで作ったサイトならきっとcssなどもパスの関係で読み込みできず、サイトが激しく崩れてしまっていると思います。
これらを回避するためにも、SSL証明書を導入した場合は、httpをhttpsに正しくリダイレクトする必要があります。
「www」のあり・なしでも別ページと認識されてしまう
URLの「www」あり・なしでも上記と同様で、別ページと認識されてしまう現象が起きます。
まだ対応していない場合は、SSLの導入と一緒に対策しましょう。
リダイレクトの種類
リダイレクトには「301リダイレクト」と「302リダイレクト」の2種類があります。どちらもリダイレクトする処理ですが、使われる場面が違うため、場面に応じて使い分けが必要です。
301リダイレクト
301リダイレクトは、URLを恒久的に変更する場面で使うリダイレクトです。
例えば、サイトの移転やドメインの変更、SSL化するときなどの「サイト自体は変わらず、URLのみ変更になる」場合に使用します。
そのままサイト移転などでURLを変更してしまうと、旧URLで獲得してきたSEOの評価はそのまま残ってしまいます。例えばSSL対応するだけでも、新URLでは評価を一から獲得していくことになります。
301リダイレクトを使うことで、旧URLの評価を引き継ぐことができます。
302リダイレクト
302リダイレクトは、URLを一時的に変更する場面で使うリダイレクトです。
例えば、サイトのメンテナンスや一定期間ページを閉じているときなど「URLを一時的に変更する」場合に使用します。
302リダイレクトを使うことで、SEO評価は引き継がれず旧URL側に残ったままになります。
httpからhttpsにリダイレクト
.htaccess
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
サイトの構成が変わらずに、URLだけ変わるパターンならこれで301リダイレクトができます。
wwwなしで、httpからhttpsにリダイレクト
.htaccess
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} ^(mugenweb\-note\.com\/web\/)(:80)? RewriteRule ^(.*) https://mugenweb-note.com/web/$1 [R=301,L]
上記.htaccessで以下のパターンを「https://mugenweb-note.com/web/」に301リダイレクトできます。
・http://mugenweb-note.com/web/
・http://www.mugenweb-note.com/web/
・https://www.mugenweb-note.com/web/
URLのエスケープについては、下記で解説しています。
wwwありで、httpからhttpsにリダイレクト
.htaccess
RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] RewriteCond %{HTTP_HOST} ^(mugenweb\-note\.com\/web\/)(:80)? RewriteRule ^(.*) https://www.mugenweb-note.com/web/$1 [R=301,L]
上記.htaccessで以下のパターンを「https://www.mugenweb-note.com/web/」に301リダイレクトできます。
・http://mugenweb-note.com/web/
・http://www.mugenweb-note.com/web/
・https://mugenweb-note.com/web/
URLのエスケープについては、下記で解説しています。
リダイレクトの動作確認方法
リダイレクトの動作確認方法は、Chromeの「デベロッパーツール」を使用すると簡単にできます。
Windowsは、ショートカットキーの「Ctrl+Shift+I」や「F12」でもデベロッパーツールの起動します。
1.「Network」のタブを選択します。
2.「Preserve log」にチェックを入れます。
3.動作確認を行いたい旧URLにアクセスします。
4.「Name」の右側にある「Status」で301や302の状態を確認します。
コメント