SSL設定後に.htaccessでhttpからhttpsに301リダイレクトをかける方法

最初にhttpでサイトの登録をしたけれど、その後SSL化してURLがhttp://〜からhttps://〜に変更した。と仮定します。
https://に変更する前にサイトを訪れてくれていた方々は、httpのURLでブックマークしてくれていますよね。
httpからhttpsに変更したときに、変更したことを記載しないと以下のことが起こってしまうことが考えられます。
- 重複コンテンツ(http〜)と(https://〜)で内容が被っているため。
- httpで積み重ねたSEO評価が引き継がれずに一からの評価構築をしなければいけなくなる。
これはとてもめんどくさいことです。
重複コンテンツでもなく、SEOにもきちんと評価される形でサイトのURLを変更したいですよね。
そこで登場するのが、301リダイレクトです(ステータスコードとも呼ばれます)。
301リダイレクトとは
301リダイレクトとは
恒久的に移動した。リクエストしたリソースが恒久的に移動されているときに返されるwikipediaより
「URL」が変わったからよろしくね!前のURLにアクセスがあったら新しいアクセスに転送してね。
というニュアンスです。
301リダイレクトと302リダイレクトの違いは?
301リダイレクトの他にも302リダイレクトというものがあります。
302リダイレクトとは
発見した。リクエストしたリソースが一時的に移動されているときに返されるwikipediaより
301リダイレクトとの一番の違いは【恒久的か、一時的】かということです。
URLの変更がどのくらいの期間続くものなのかによって必要となるコードが変わってきます。
301リダイレクトをかけるために書くコード
1 2 3 4 5 6 |
#ssl <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> |
このコードを.htaccessに書くことで、301リダイレクトがかかるようになります。
WordPress(ワードプレス)の場合は、public_htmlの直下にある.htaccessに記載をすることになります。
すべての処理が開始される前にリダイレクトされるようにしたいので、.htaccessの一番最初に記載をします。
これで重複コンテンツでもなく、SEOの評価も引き継がれてサイトのURLを引き継ぐことができました。
SSL化した時にはほぼ必須のコードになるので、登録しておきましょう。