search
LoginSignup
217
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated 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

参考・引用

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
217
Help us understand the problem. What are the problem?