简单总结:nginx 的 rewrite 指令

warning: 这篇文章距离上次修改已过953天,其中的内容可能已经有所变动。

NGINX REWRITE 指令:

语法:

rewrite regex replacement [flag];

作用:

如果一个 uri 匹配指定的正则表达式 regex , uri 就按照 replacement 重写。 rewrite 按配置文件中出现的顺序执行。 flags 标志位的作用是对接下来相同rewrite指令该如何处理。如果 replacementhttp://https:// 开始,将不再继续处理,这个重定向将返回给客户端。

flag(参数)

  • last:停止处理后续 rewrite 指令集,然后对当前重写的新 urirewrite 指令集上重新查找。
  • break: 停止处理后续 rewrite 指令集,并不在重新查找,但是当前 location 内剩余非 rewrite 语句和 location 外的非 rewrite 语句可以执行。
  • redirect: 如果 replacement 不是以 http://https:// 开始,返回 302 临时重定向。
  • permant : 返回 301 永久重定向。

执行顺序:

1.首先执行 server 快的 rewrite 的指令. (这里的 server 块指的是,大括号包围的区域)
2.执行选定的 location 中的 rewrite 指令.

注意:如果 `rewrite` 循环超过10次,则返回 500 Internal Server Error 错误。
none
最后修改于:2022年04月16日 15:55

添加新评论