nginxs

运维博客

08-nginx的if语句条件判断

2016/05/21 13:43 于 web 0

微信 微博 豆瓣 人人

介绍

语法:if(condition){………}
配置作用域:server,location

匹配条件

“=”和““!=”” 变量等于不等于条件
“~” 和“~” 匹配到指定内容是否区分大小写
“!~”和"!~
" 匹配到指定内容是否区分大小写
“-f”和“!-f” 检查一个文件是否存在
"-d" 和"!-d" 检查一个目录是否存在
"-e"和"!-e" 检查一个文件,目录,软连接是否存在
“-x”和“!-x” 检查一个是否有执行权限
匹配的内容可以是字符串也可以是一个正则表达式。
如果一个正则表达式包含“}”或者“;”就必须包含在单引号或双引号里面。

执行条件

    if(condition){………}
if($variable ~ '^/product' ){………}
举例:
if ($http_user_agent ~ MSIE) { #只要“$http_user_agent”配置MSIE的
rewrite ^(.*)$ /msie/$1 break; #URL地址前面加"/msie"
}

if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
set $id $1;
}

if ($request_method = POST) {
return 405;
}

if ($slow) {
limit_rate 10k;
}

if ($request_uri ~) {
return 403;
}

if ($request_uri ~ "/test.html") { #根据访问地址跳转到目标地址
rewrite ^ http://new.ngins.net;
}

if (-x "/data/test.sh") { #根据文件是否有执行权限,跳转到目标
rewrite ^ http://new.ngins.net;
}

nginx教程

第一章 nginx安装基本引导和进程信号

02-nginx IO模型

03-nginx负载均衡

04-nginx的root和alias区别

05-nginx limit_req和limit_conn_zone

06-nginx访问控制“限制ip”,“限制用户名”

07-nginx geo区域访问控制

08-nginx的if语句条件判断

nginxnginx if条件判断if条件判断

发表评论
已登录为 [退出]


管理