リダイレクト – 常時https化

※.htaccessファイルの編集によってサーバーエラーが起きる場合があります。編集を行う前に必ずバックアップを取ってください。なお当サイトではファイルの編集によって起こった不具合・エラー等に関して一切の責任を負いません。ご了承ください。

リダイレクト概要

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} !on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

解説

3行目RewriteCondRewriteRuleを実行するための条件を定義するための記述。
上の記述では、「HTTPSの接続ではない(off)場合RewriteRuleの処理を行う」となる。

※ちなみに上記の例はレンタルサーバーの「Xserver」向けのものなので、ロリポップやカゴヤ等ではうまく作動しないことがあります。
※ロリポップ!の常時SSL化対応についてはこちら(2022年8月18日現在の情報です)

レンタルサーバー各社では常時SSL化についてコラム等書かれている場合が多いので、うまく作動しない場合は「〇〇(レンタルサーバー名) 常時SSL htaccess」などで検索するとサーバーごとの記述がヒットする可能性が高いです。

リダイレクトを行う必要性

webサイト(webアプリケーション)において、HTTPS接続には主に以下のメリットがある。

  • 通信の暗号化
  • 通信情報の改ざんの防止
  • 通信の正当性の証明

通信の暗号化

まず、HTTPと違いHTTPS接続の場合はHTTPヘッダー情報が暗号化され、情報漏えいを防ぐ効果がある。

2020年現在webサイトに使用される技術、データ処理の方法等の変化によってHTTPヘッダーに含まれる情報は様々な場所で使われることも多くなった。フォームやログイン、決済情報や端末情報…etc
個人情報を扱うサイトが世の中にたくさんある中で、通信内容の盗聴を防御する必要性が増加している。

HTTPS化によってHTTPヘッダーから取得できる情報は暗号化され、解読を難しくすることができる。個人個人のサイト体験がリッチになっている昨今のwebサイトならHTTPS化は必須と言えるのではないだろうか。

通信の正当性の証明

クライアントに対して「当サイトの通信は暗号化されています」と示すことができる。
HTTPSサイトであればGoogle chromeではURL欄に鍵マークが付き、HTTPサイトであればサイトに接続するか確認の画面に飛ばされる設定となっている。

HTTPSサイトであるからといって完璧に安全というわけではないが、少なくとも通信においては盗聴される心配はほとんどなくなる。

自分のサイトの安全性を示すためには常時HTTPS化はまず必要不可欠。