if指令该指令用来支持条件判断,并根据条件判断结果选择不同的Nginx配置。
语法 | if (condition){…} |
默认值 | — |
位置 | server、location |
condition为判定条件,可以支持以下写法:
1. 变量名。如果变量名对应的值为空字符串或"0",if都判断为false,其他条件为true。
if ($param){ }
2. 使用"="和"!="比较变量和字符串是否相等,满足条件为true,不满足为false
if ($request_method = POST){ return 405; }
注意:此处和Java不太一样的地方是字符串不需要添加引号,并且等号和不等号前后到需要加空格。
3. 使用正则表达式对变量进行匹配,匹配成功返回true,否则返回false。变量与正则表达式之间使用"~","~*","!~","!~*"来连接。
"~"代表匹配正则表达式过程中区分大小写,
"~*"代表匹配正则表达式过程中不区分大小写
"!~"和"!~*"刚好和上面取相反值,如果匹配上返回false,匹配不上返回true
if ($http_user_agent ~ MSIE){ #$http_user_agent的值中是否包含MSIE字符串,如果包含返回true }
注意:正则表达式字符串一般不需要加引号,但是如果字符串中包含"}"或者是";"等字符时,就需要把引号加上。
4. 判断请求的文件是否存在使用"-f"和"!-f",
if (-f $request_filename){ #判断请求的文件是否存在 } if (!-f $request_filename){ #判断请求的文件是否不存在 }
5. 判断请求的目录是否存在使用"-d"和"!-d"
6. 判断请求的目录或者文件是否存在使用"-e"和"!-e"
7. 判断请求的文件是否可执行使用"-x"和"!-x"
将本页面链接发送给QQ:435946716,免费获取上面课程全套视频、笔记和源码。
猜你喜欢:
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/253964.html