目录
nginx if 指令
参考这里
Syntax: if (condition) { ... }
Default: —
Context: server, location
直接判断变量
- 如果变量值是空字符串或者"0"时,判定为false;否则,判定为true。
- 1.0.1版本前,任何以"0"开头的字符串,判定为false。
if ($slow) {
limit_rate 10k;
}
if ($invalid_referer) {
return 403;
}
判断是否等于字符串
使用 “=” 和 “!=” 操作符判断是否等于字符串
if ($request_method = POST) {
return 405;
}
判断变量是否匹配正则表达式
使用 “~” 和 “!~” 操作符判断变量是否匹配正则表达式。
- ~:判断时区分字符大小写
- ~*:判断时不区分字符大小写
- !~:判断时区分字符大小写
- !~*:判断时不区分字符大小写
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}
if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
set $id $1;
}