首页技术文章正文

Nginx if的使用教程

更新时间:2021-08-27 来源:黑马程序员 浏览量:

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,免费获取上面课程全套视频、笔记和源码。



猜你喜欢:

Nginx rewrite常用全局变量详细介绍

Nginx配置server_name详细教程

如何配置Nginx为系统服务?

Nginx升级教程:两种方案任你选

黑马程序员java开发培训课程

分享到:
在线咨询 我要报名
和我们在线交谈!