SSL

クレジットカード番号のやり取りや銀行口座の取り扱いは、当然ですが、ショッピングカートやお問い合わせフォームやなどでも、SSL(Secure Socket Layer) を使うのが一般的になってきました。

今までhttp だったホームページを、https に変更するときには、http でアクセスしてきた閲覧者を https に移動する必要があります。

これをリダイレクトというのですが、リダイレクトの方法はいくつかあります。

今回は、2つの方法をご紹介します。

.htaccess でリダイレクト

SSLを使いたいフォルダに、.htaccess を置き、そこに以下のコードを記述します。

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

4行目の[R,L]のRは、302リダイレクトを意味します。

301リダイレクトにしたい場合は、R=301 と記述します。

php でリダイレクト

何かの理由で.htaccess が使えない、mod_rewrite が使えない場合など、あえてphpでリダイレクトすることもあります。

https でアクセスした場合、$_SERVER 配列変数に、HTTPS要素が見つかります。

$_SERVER[‘HTTPS’]に、”on” が入っていれば、HTTPS でアクセスしています。

phpコードは、こんな感じでしょうか?

if ($_SERVER['HTTPS'] == "on") {
  // HTTPSの時の処理
} else {
  // HTTPの時の処理
}

 

ホームページを作るなら必ず読んでおくべき4冊

 

私が買ってよかったパソコン&iPhone関連商品 トップ8