`[ -f | !-f | -d | !-d | -e | !-e | -x | !-x]`

`-f`:请求的文件存在为true

`!-f`:请求的文件不存在,但该文件的目录存在为true

`-d`:请求的目录存在为true

`!-d`:请求的目录不存在,但该目录的上级目录存在为true

`-e`:当请求的文件或目录存在时true

`!-e`:如果请求的文件和改文件所在路径上的目录都不存在,为true

`-x`:请求的文件可执行,为true

`!-x`:请求的文件不可执行,为true

if (-f $reque_filename){

#文件存在

if (!-f $reque_filename){

#文件不存在

*break*

遇到break就跳出,后面的指令不在执行

if (!-f $reque_filename){

set $id = 1; #有效的指令

break;

limit_rate 10k; #无效的指令

*return*

完成对请求的处理。直接向客户端返回响应状态码。

return code URL ;

return [text];

`code`:返回给客户端的HTTP状态码

`URL`:返回给客户端的URL地址

`text`:返回给客户端的响应体内容,支持变量。

*set*

set $id = 2

!~:与指定正则表达式模式不匹配时返回“真”, 判断 匹配与否时 区分 字符 大小写 ;       !~*:与指定正则表达式模式不匹配时返回“真”, 判断 匹配与否时不 区分 字符 大小写 ; 2、文件及目录匹配 判断 :       -f, !-f: 判断 指定的路径是否为存在且为文件;       -d, !-d: 判断 指定的路径是 ==:等值比较; ~:与指定正则表达式模式匹配时返回“真”, 判断 匹配与否时 区分 字符 大小写 ; ~*:与指定正则表达式模式匹配时返回“真”, 判断 匹配与否时不 区分 字符 大小写 ; !~:与指定正则表达式模式不匹配时返回“真”, 判断 匹配与否时 区分 字符 大小写 ; !~*:与指定正则表达式模式不匹配时返回“真”, 判断 匹...
使用正则表达式对变量进行匹配,匹配成功返回true,否则返回false。变量与正则表达式之间使用"~","~*","!~","!~*"来连接。 "~"代表匹配正则表达式过程中 区分 大小写 , "~*"代表匹配正则表达式过程中不 区分 大小写 "!~"和"!~*"刚好和上面取相反值,如果匹配上返回false,匹配不上返回true if ($http_user_agent ~ MSIE){ #$http_user_agent的值中是否包含MSIE字符串,如果包含返回true 注意:正则表达..
nginx 的配置中不支持if 条件 的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误: nginx : [emerg] invalid condition。 我们可以用变量的方式来间接实现。 要实现的语句:
将Windows下的项目(如:php)迁移到 Linux 下,由于Windows操作系统中,文件名是不 区分 大小写 的;而 Linux 系统是 大小写 敏感,会导致有些网页出现404情况。 那么,怎样 Nginx 实现url请求不 区分 大小写 呢? 下面是安装lua模块的方式。lua- nginx -module来自大牛agentzh的开源项目,在 Nginx 中嵌入Lua语言,使之可以支持强大Lua语法。 安装lua 1、下载lua wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz