【PHP】httpsにリダイレクトする
個人情報等、機密情報を扱うようなページの場合に無理やりにでもhttps通信を強制させたい。
if (empty($_SERVER['HTTPS'])) {
//SSLでなかったらSSLのページにリダイレクトする
header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
exit;
}
SSLの場合は$_SERVER['HTTPS']に"on"等が入っている。
SSLでない場合は何も入っていない。
{$_SERVER['HTTP_HOST']}にはドメインに相当する値が入っており、
$_SERVER['REQUEST_URI']にはドメイン以下のパスやスクリプトファイル名がある。
つまり、{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}でサーバからのフルパス。
で、通信プロトコルhttpsを頭につけたURIにリダイレクトすればOK。
ちなみに、これはxamppでも使える。