Edited at

RewriteRuleのフラグと、RewriteCondの変数一覧


2018-10-09 追記

参考・引用のサイトURLが変わっていたので修正。片方は見つからず。

フィッシングサイトに飛んでたので踏まれた方、ご迷惑おかけしました。

@yayamamo さん、ご指摘ありがとうございました。助かりました。


この辺、便利だけどたまにしか使わんから忘れますよねー

ということで、使いそうなもののみ抜粋。


RewriteRuleのフラグ

フラグ
意味
説明

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
Redirect
指定したURLにリダイレクト。[R=303]のようにリダイレクトコードも付加できる。[L]フラグと同様、以降のルールは無視される

[C]を指定すれば、RewriteCondの条件を複数のRewriteRuleに適用できる。けど、正規表現の方が速いそうな。


RewriteCondの変数

説明書くのは面倒なので省略。気が向いたら追記ということで。


  • HTTP_USER_AGENT

  • HTTP_REFERER

  • HTTP_COOKIE

  • HTTP_FORWARDED

  • HTTP_HOST

  • HTTP_PROXY_CONNECTION

  • HTTP_ACCEPT

  • REMOTE_ADDR

  • REMOTE_HOST

  • REMOTE_USER

  • REMOTE_IDENT

  • 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

  • TIME

  • API_VERSION

  • THE_REQUEST

  • REQUEST_URI

  • REQUEST_FILENAME

  • IS_SUBREQ


参考・引用