.htaccess - リクエスト環境変数 connection & request
REMOTE_ADDR
REMOTE_ADDR は、クライアントの IP アドレス情報が含まれます。
# クライアントの IP アドレス
10.20.30.40:80
REMOTE_ADDR の一例
REMOTE_HOST
REMOTE_HOST は、クライアントのホスト名情報が含まれます。ただし、必ず情報が含まれているとは限りません。情報が含まれていない場合は、IPアドレスから逆引き参照を行います。
# クライアントのホスト名
client123.hoge.ne.jp
REMOTE_HOST の一例
REMOTE_PORT
REMOTE_PORT は、クライアントのポート番号の情報が含まれます。
REMOTE_USER
REMOTE_USER は、Basic 認証におけるユーザ認証時のユーザ ID 情報が含まれます。
# htpasswd murashun:hoge123
murashun
REMOTE_USER の一例
REMOTE_IDENT
REMOTE_IDENT は、リクエストを発行したユーザ情報が含まれます。ただし、ユーザ情報は Unix の ident daemon により通知されるため、Windows を使用しているユーザからは通知されません。大抵の場合は、値が入っていません。
REQUEST_METHOD
REQUEST_METHOD は、"GET" または "POST" の HTTP リクエスト情報が含まれます。
# Rewriteエンジンを起動
RewriteEngine On
# HTTPリクエストによって振り分ける
RewriteCond %{REQUEST_METHOD} GET
RewriteRule ^(.*)$ /foo/$1 [R,L]
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^(.*)$ /bar/$1 [R,L]
REQUEST_METHOD を使って URL を書き換える例
SCRIPT_FILENAME
実行するスクリプトの絶対パス情報が含まれます。
# Rewriteエンジンを起動
RewriteEngine On
# 実行ファイルが存在しない場合、エラー画面を表示する
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ /error.html [NC,L]
SCRIPT_FILENAME を使ってURLを書き換える例
PATH_INFO
PATH_INFO は、ファイル名とクエリー文字列の間にあるパス情報が含まれます。後述するAcceptPathInfo ディレクティブも参考にして下さい。
# hoge.php/foo/bar?id=123456
/foo/bar
PATH_INFO の一例
QUERY_STRING
QUERY_STRING は、クエリー文字列である GET パラメータの情報が含まれます。QUERY_STRING の中に URI で使用できない文字列が含まれる場合は、パーセントエンコードされます。パーセントエンコードなしの文字列を取得する場合は、QUERY_STRING_UNESCAPED を使用します。ただし、QUERY_STRING_UNESCAPED も Unix シェルのメタ文字は \
でエスケープされます。
# hoge.php/foo/bar?id=123456
id=123456
QUERY_STRING の一例
AUTH_TYPE
AUTH_TYPE は、ユーザの認証方式の情報が含まれます。