PHP | httpかhttpsかどうか判別する方法

2022-03-18PHP 判別・判定,PHP

PHP | httpかhttpsかどうか判別する方法

PHPでアクセスのあるページが「http」「https」かどうか調べる方法とサンプルコードを紹介しています。

httpかhttpsかどうか判別する

ページが「http」「https」なのかを判別するには$_SERVER['HTTPS']を利用できます。

$_SERVER['HTTPS']はそのページが「https」であった場合「on」、それ以外では空の値を返します。

if ($_SERVER['HTTPS'] != 'on') {
	//httpの場合の処理
} else {
	//httpsの場合の処理
}

判定処理にempty()を利用する場合。

if (empty($_SERVER['HTTPS'])) {
	//httpの場合の処理
} else {
	//httpsの場合の処理
}

以下のサンプルコードは「https」ではない場合に「https」にリダイレクトするサンプルです。
「.htaccess」でリダイレクトできない環境時などに利用します。

if (empty($_SERVER['HTTPS'])) {
	header("Location: https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
}