httpからhttpsへ301リダイレクトする方法

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://aaaa.com/$1 [R=301,L]

下層もリダイレクトし、同じファイルに転送する場合は

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

301リダイレクトとは

URL(ドメインも含む)が恒久的に変更された場合に用いられる転送処理のステータスコードです。この301リダイレクト以外に302リダイレクトがありますが、302リダイレクトは「一時的な転送」を表すものであり、意味が異なります。

seoなどで用いるのは301リダイレクトになり、以前の被リンクの属性やオーソリティーを維持しながらの転送になります。

301リダイレクトをしないとどうなるか?

変更前のURLへアクセスするとURLやドメインがなくなっている場合はエラーになります。また、URLやドメインがなくならずにそのままある場合は昔のまま表示されます。つまり転送が効いていない状況になります。

サイトのリニューアルやコンテンツ追加により、URLが変更になると301リダイレクトをお勧めします。そうでないとアクセスエラーが増えます。




リニューアル時に問題となるリダイレクト

ホームページのリニューアルにおいてリダイレクトは非常に大切です。
これにより、リンク切れを減少させることができます。
では、どうすればいいのか?それは.htaccessファイルに命令を書けばいいのです。

 

たとえば、http://www.aaa.com/bbb/ccc.html
http://www.aaa.com/bbb/d.htmlを
http://wwww.aaa.com/にリダイレクトする場合は次のように書く。

 

RewriteEngine on
RewriteBase /
RewriteRule ^bbb(.*)$ http://wwww.aaa.com [R=301,L]

http://www.aaa.com/ccc.html のみ、http://wwww.aaa.com/
にリダイレクトする場合は

 

RewriteEngine on
RewriteBase /
RewriteRule ^ccc.html$ http://wwww.aaa.com [R=301,L]

 

となります。

 

リダイレクト(転送)は非常に大事です。サイトの閲覧者を迷子になることなく、誘導することができるからです。URLが変更になる時はリダイレクト(転送)は必須であると考えておくといいでしょう。

本当は、ホームページのリニューアルにおいて可能な限り同じつくりにすることが大切ですが、どうしてもそうすることができない場合はリダイレクトしましょう。