Nginx Rewrite规则相关指令

发布时间:2020-04-30 18:30:02 作者:gele8888 阅读量:1979

Nginx Rewrite 规则相关指令有if、rewrite、set、rerurn、break等,其中rewrite最关键的指令。一个简单的Nginx Rewrite 规则语法如下:
rewrite ^/b/(.*)\.html  /play.php?video=$1 break;
如果加上if语句,示例如下:
if(!-f $request_filename)
{
rewrite^/img/(.*)$ /site/$host/images/$1 last;
}
 
1.break
    使用环境:server,location,if
    作用:完成当前匹配规则集,不再处理rewrite指令
 
2.if
    使用环境:server,location
    作用:判断条件是否符合,不支持&&和||,比较=(表示等于),!=(表示不等于),“~”区分大少写匹配,“~*”不区分大少写匹配,"!~"和“!~*"刚好相反,”-f“和”!-f"判断文件
 
是否存在,"-d"和"!-d"判断目录是否存在,"-e"和"!-e"判断目录或文件是否存在,"-x"和"!-x"判断文件是否可以执行,"()"括起来的可以通过$1-$9来访问
 
3.return
    使用环境:server,location,if
    作用:结束规则的执行并返回状态码给客户端
 
4.rewrite regex replacement flag
    使用环境:server,location,if
    作用:根据表达式来重定向URL,或修改字符串,重写表达式只对相对路径有效
    flag:last-表示完成rewrite,浏览器地址栏不会显示重定向后的URL,break-本条规则完成匹配后,终止匹配,不再匹配后面规则,浏览器地址栏不会显示重定向后的URL,redirect-返
 
回302临时重定向,浏览器地址栏显示重定向后的URL,permanent-返回301重定向,浏览器地址栏显示重定向后的URL
    last和break区别,使用alias要使用last标记,使用proxy_pass要使用break,last会对server{...}里重新发起请求
 
5.set variable value
    使用环境:server,location,if
    作用:定义一个变量并赋值
 
6.uninitialized_variable_warn on|off
   使用环境:http,server,location,if
   作用:开启或关闭没初始化的警告
 

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

  热门标签

爱秒云
Catfish(鲶鱼) Blog V 4.7.3