【.htaccess】mod_rewrite モジュール – その4 HTTP 環境変数一覧

RewriteCond ディレクティブで利用する主な HTTP 環境変数の一覧です。

ヘッダ環境変数

環境変数 意味・値
HTTP_HOST リクエスト先のホスト名 (DNS 名) 情報
例)http://hazu.jp/~ でのアクセスなら、”hazu.jp”
http://www.hazu.jp/~ のアクセスなら、”www.hazu.jp”
HTTP_REFERER 参照元の URL 情報(前にいたページのURL情報)
例)Google での検索からのアクセスなら、”https://www.google.com”
HTTP_ACCEPT ブラウザがサポートするメディア・MIMEタイプ情報
例)”text/html,application/xhtml+xml,application/xml;q=0.9″
HTTP_USER_AGENT クライアントのプラットフォーム、バージョン情報、ブラウザの情報
例)”Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/77.0.3865.90″

サーバ環境変数

環境変数 意味・値
SERVER_NAME Webサーバ名の情報
例)”hazu.jp”
SERVER_ADDR Web サーバの IP アドレス情報
例)”10.20.30.40:80″
SERVER_PORT Webサーバのポート番号の情報
例)一般的には、http ならポート番号 “80”、https ならポート番号 “443”

リクエスト環境変数

環境変数 意味・値
REMOTE_ADDR クライアントの IP アドレス情報
例)”10.20.30.40:80″
REMOTE_HOST クライアントのホスト名情報(必ず含まれているとは限らない)
例)”www.client123.hoge.com”
REMOTE_USER Basic 認証におけるユーザ認証時のユーザ ID 情報
SCRIPT_FILENAME 実行するスクリプトの絶対パス情報
例)example.php を実行する場合、その絶対パス “hazu.jp/home/example.php”
PATH_INFO ファイル名とクエリー文字列の間にあるパス情報
例)”example.php/foo/bar?id=123456″ にアクセスなら、”/foo/bar”
QUERY_STRING クエリー文字列である GET パラメータの情報
例)”example.php/foo/bar?id=123456″ にアクセスなら、”id=123456″

サーバー日付・時刻変数

環境変数 意味・値
TIME_YEAR サーバ時刻の年
例)”2019″ 西暦で表示
TIME_MON サーバ時刻の月
“01” ~ “12”
TIME_DAY サーバ時刻の日
“01” ~ “31”
TIME_HOUR サーバ時刻の時
“00” ~ “23”
TIME_MIN サーバ時刻の分
“00” ~ “59”
TIME_SEC サーバ時刻の秒
“00” ~ “59”
TIME_WDAY サーバ時刻の曜日
“0” (日曜) ~ “6” (土曜)
TIME サーバ時刻の年・月・日・時・分・秒
例)2019年10月11日、23:35:07なら、”20191011234507″

その他

環境変数 意味・値
THE_REQUEST リクエストの情報(クライアントのブラウザから送られてきた HTTP リクエスト行)
例)index.html に HTTP ver1.1 でリクエストの場合、”GET /index.html HTTP/1.1″
REQUEST_URI リクエストされたURI情報
例)http://hazu.jp/foo/bar.html にアクセスされた場合は “/foo/bar.html”
REQUEST_FILENAME リクエストされたファイルのサーバパス情報
例)”/home/blog/example.html”
HTTPS https (SSL) 判定
https 通信なら “on”、そうでなければ “off”