LoginSignup
222
220

More than 5 years have passed since last update.

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

Last updated at Posted at 2013-01-08

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

参考・引用

222
220
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
222
220