admin管理员组文章数量:1642347
1. Rewrite指令的最后一项参数为flag标记,flag标记有:
1.1 last 相当于apache里面的[L]标记,表示rewrite。
1.2 break本条规则匹配完成后,终止匹配,不再匹配后面的规则。
1.3 redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址。
1.4 permanent 返回301永久重定向,浏览器地址会显示跳转后的URL地址。
使用last和break实现URI重写,浏览器地址栏不变。
使用alias指令必须用last标记;
使用proxy_pass指令时,需要使用break标记。
Last标记在本条rewrite规则执行完毕后,会对其所在server{......}标签重新发起请求
break标记则在本条规则匹配完成后,终止匹配。
2. Rewrite规则相关指令
2.1. break指令
使用环境:server,location,if;
该指令的作用是完成当前的规则集,不再处理rewrite指令。
2.2. if指令
使用环境:server,location
该指令用于检查一个条件是否符合,如果条件符合,则执行大括号内的语句。If指令不支持嵌套,
不支持多个条件&&和||处理。
2.3. return指令
语法:return code ;
使用环境:server,location,if;
该指令用于结束规则的执行并返回状态码给客户端。
示例:如果访问的URL以".sh"或".bash"结尾,则返回403状态码
location ~ .*\.(sh|bash)?$
{
return 403;
}
2.4. rewrite 指令
语法:rewriteregex replacement flag
使用环境:server,location,if
该指令根据表达式来重定向URI,或者修改字符串
版权声明:本文标题:Nginx URL重写rewrite详解 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729335253a1196897.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论