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
参考・引用
- mod_rewrite サンプル集/楽
- mod_rewriteまとめ(3)mod_rewriteで使えるフラグ(←移転?URL分からず…)