nginx中rewrite flag

rewrite  正则表达式  新URI  [flag];

 rewrite regex replacement [flag]
  • [flag] 选项用于调控重写和重定向的行为,它的取值可能是:

    • last:重写完成后,会停止继续处理当前区块所有属于ngx_http_rewrite_module模块的语句(即不会继续匹配当前区块余下的rewrite语句或其它属于该模块的语句)。重写得到的新URL会重新匹配所有location语句,以进行进一步处理。

    • break:重写完成后,会停止继续处理当前区块所有属于ngx_http_rewrite_module模块的语句(即不会继续匹配当前区块余下的rewrite语句或其它属于该模块的语句),就像break命令一样,不会有进一步的动作。

    • redirect:重写完成后,返回带有302代码(临时重定向)的新URL给客户端,服务端处理完成。该flag只有在"新URI"不是完整的URL地址时才会生效,浏览器地址会显示跳转后的URL地址

    • permanent:重写完成后,返回带有301代码(永久重定向)的新URL给客户端,服务端处理完成,浏览器地址栏会显示跳转后的URL地址

last和break区别:

  1. 使用last和break实现URI重写,浏览器地址栏不变
  2. 使用alias指令时必须使用last标记;使用proxy_pass指令时,需要使用break标记
  3. last标记在本条rewrite规则执行完毕后,会对其所在server{……}标签重新发起请求,而break标记则在本条规则匹配完成后,终止匹配
posted @ 2020-01-29 13:19  在半空頫視地球╰☆╮  阅读(259)  评论(0编辑  收藏  举报