.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 は、ユーザの認証方式の情報が含まれます。

関連記事

Category:
プログラミング
公開日:
更新日:
Pageviews:
9
Shares:
0
Tag:
.htaccess
Apache
HTTP
Server