RewriteCondディレクティブの書式
RewriteCond %{変数名} 条件パターン [フラグ]
変数名
グループ | 変数名 | 値・意味 |
---|---|---|
HTTPヘッダ | HTTP_USER_AGENT | ユーザエージェント |
HTTP_REFERER | 参照元URL | |
HTTP_COOKIE | クッキー情報 | |
HTTP_FORWARDED | プロキシ情報 | |
HTTP_HOST | サーバのホスト名 | |
HTTP_PROXY_CONNECTION | プロキシを経由しているか否か | |
HTTP_ACCEPT | ブラウザの言語タイプ | |
コネクション&リクエスト | REMOTE_ADDR | リモートアドレス |
REMOTE_HOST | リモートホスト名 | |
REMOTE_USER | リモートユーザ名(基本認証利用時) | |
REMOTE_IDENT | リモートユーザのID | |
REQUEST_METHOD | リクエストメソッド | |
SCRIPT_FILENAME | スクリプトファイル名 | |
PATH_INFO | パス情報 | |
QUERY_STRING | クエリ文字列 | |
AUTH_TYPE | 認証タイプ | |
サーバ内部変数 | DOCUMENT_ROOT | ドキュメントルートのパス |
SERVER_ADMIN | サーバ管理者情報 | |
SERVER_NAME | サーバ名 | |
SERVER_ADDR | サーバのアドレス | |
SERVER_PORT | サーバのポート番号 | |
SERVER_PROTOCOL | プロトコルのバージョン | |
SERVER_SOFTWARE | サーバソフトウェア | |
日時 | TIME_YEAR | 年 |
TIME_MON | 月 | |
TIME_DAY | 日 | |
TIME_HOUR | 時 | |
TIME_MIN | 分 | |
TIME_SEC | 秒 | |
TIME_WDAY | 曜日(0:日~6:土) | |
TIME | 年月日時分秒 | |
特殊 | API_VERSION | APIバージョン |
THE_REQUEST | リクエスト文字列 | |
REQUEST_URI | リクエストURI | |
REQUEST_FILENAME | リクエストされたファイル名 | |
IS_SUBREQ | サブリクエストか否か | |
HTTPS | HTTPSでのアクセスか否か |
条件パターン
パターン | 意味 |
---|---|
! | 否定 |
< | テスト文字列より上の場合はtrue |
> | テスト文字列より下の場合はtrue |
= | テスト文字列と等しい場合はtrue |
<= | テスト文字列以上の場合はtrue |
>= | テスト文字列以下の場合はtrue |
-d | ディレクトリが存在すればtrue |
-f | ファイルが存在すればtrue |
-eq | 「=」(num値) |
-ge | 「<=」(num値) |
-gt | 「<」(num値) |
-le | 「>=」(num値) |
-lt | 「>」(num値) |
-F | アクセス可能な有効なパスを指している場合はtrue |
-l | シンボリックリンクの場合はtrue |
-s | ファイルが存在かつサイズが0でなければtrue |
-U | アクセス可能な有効なURLの場合はtrue |
-x | 実行権限がある場合はtrue |
フラグ
フラグ | 意味 | 説明 |
---|---|---|
C | Chain | このルールにマッチしたら、次のルールを評価 |
F | Forbidden | アクセス禁止(403-Forbidden)。[L]フラグと同様、以降のルールは無視される |
G | Gone | 削除(410-Gone) |
L | Last | マッチしたらRewriteを止めます。以降のルールは無視 |
NC | No Case | 大文字小文字を無視 |
NE | No Escape | ".", "?", "%"などの特殊文字が"%25″のようにエンコードされるのを防ぐ |
OR | Or | RewriteCondを複数指定する場合のor指定。指定なしならAND |
PT | Path Through | Rewriteを終了し、それ以外の処理に移行 |
R | Ridirect | 指定したURLにリダイレクト。[R=303]のようにリダイレクトコードも付加できる。[L]フラグと同様、以降のルールは無視される |