Nginx Rewrite规则及相关指令
程序员文章站
2022-05-22 11:25:47
...
1.break指令
默认值:none ;使用环境:server,location,if ;
该指令的作用是完成当前的规则集,不再处理rewrite指令。
2.if指令
默认值:none ;使用环境:server,location
该指令用于检查一个条件是否符合,如果条件符合,则执行大括号内的语句。If指令不支持嵌套,不支持多个条件&&和||处理。
默认值:none ;使用环境:server,location,if ;
该指令的作用是完成当前的规则集,不再处理rewrite指令。
2.if指令
默认值:none ;使用环境:server,location
该指令用于检查一个条件是否符合,如果条件符合,则执行大括号内的语句。If指令不支持嵌套,不支持多个条件&&和||处理。
* A.变量名,错误的值包括:空字符串""或者任何以0开始的字符串
* B.变量比较可以使用"="(表示等于)和"!="(表示不等于)
* C.正则表达式模式匹配可以使用"~*"和"~"符号
* D."~"符号表示区分大小写字母的匹配
* E."~*"符号表示不区分大小写字母的匹配
* F."!~"和"!~*"符号的作用刚好和"~"、"~*"相反,表示不匹配
* G."-f"和"!-f"用来判断文件是否存在
* H."-d"和"!-d"用来判断目录是否存在
* I."-e"和"!-e"用来判断文件或目录是否存在
* J."-x"和"!-x"用来判断文件是否为可执行
*
K.部分正则表达式可以在()内,用
补充:
nginx的全局变量参数解释:
arg_PARAMETER#这个变量包含GET请求中,如果有变量PARAMETER时的值。args #这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=blahblah;
binary_remote_addr#二进制的客户地址。body_bytes_sent#响应时送出的body字节数数量。即使连接中断,这个数据也是精确的。
content_length#请求头中的Content-length字段。content_type#请求头中的Content-Type字段。
cookie_COOKIE#cookie COOKIE变量的值document_root#当前请求在root指令中指定的值。
document_uri#与uri相同。
host#请求主机头字段,否则为服务器名称。hostname#Set to the machine’s hostname as returned by gethostname
推荐阅读