rewrite模块中的 if指令
允许Nginx根据请求中变量的值判断是否满足if条件,如果满足,再执行if块中的指令。
if指令的定义:
if(condition) {
}
# 规则:
# if判断条件condition为真,则执行大括号内的指令
其中,condition判断条件 可以是以下几种类型:
# 判断condition变量是否为0,非0则执行:
if($slow) {
limit_rate 10k;
}
if($invalid_referer) {
return 403;
}
# 判断变量是否与字符串相等(=) 或者 不等(!=):
if($request_method = POST) { # 判断请求方法是否为POST
return 405;
}
# 将变量与正则表达式做匹配,~表示大小写敏感:
if(&http_user_agent ~ MSIE) { # 判断浏览器客户端是否为IE浏览器
rewrite ^(.*)$/msie /$1 break;
}