0%

nginx-rewrite指令中的flag参数

Nginx的ngx_http_rewrite_module模块使用PCRE(pcre.x86_64)正则表达式重定向URL。

  • flag 参数
flag参数意义
last终止rewrite指令匹配,然后对当前重写的新URI在rewrite指令集上重新查找
break停止处理后续rewrite指令集,并不在重新查找,但是当前location内剩余非rewrite语句和location外的的非rewrite语句可以执行
permant返回301永久重定向,地址栏显示跳转后的地址
redirect返回302临时重定向,地址栏显示跳转后的地址
  • 说明
    • nginx可以通过增加rewrite_log on; error_log logs/error.log notice;调试 rewrite;
    • last:将rewrite后的地址重新在server标签执行;
    • break:将rewrite后地址重新在当前的location标签执行;
    • last和break正常返回200状态码;
    • last一般写在server和if中,而break一般使用在location中;
    • last不终止重写后的url匹配,而break终止重写后的匹配;
    • 一般使用302重定向是在一个网站或网页在24到48小时之内临时移到其它位置,建议尽量采用301重定向;
    • rewrite指令执行过程中如果循环超过10次,则返回500 Internal Server Error错误;
    • rewrite正则表达regex式中包含 “}” 或 “;”时整个表达式需要用双引号或单引号引起来;
-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:nginx-rewrite指令中的flag参数

文章作者:冷月无声

发布时间:2017年08月06日 - 06:08

最后更新:2019年03月30日 - 13:03

原始链接:https://www.lengyuewusheng.com/nginx-rewrite%E6%8C%87%E4%BB%A4%E4%B8%AD%E7%9A%84flag%E5%8F%82%E6%95%B0.html

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!