Nginx rewrite /api/(.*) /$1 break; 指令详解

在 Nginx 配置文件中,rewrite /api/(.*) /$1 break; 这一指令用于实现 URL 重写功能,并将匹配到的请求重定向到新的地址。

指令解析:

  • rewrite: Nginx 的 URL 重写指令,用于根据正则表达式匹配 URL 并进行重写。
  • /api/(.*): 这是一个正则表达式,用于匹配所有以 /api/ 开头的 URL 路径。其中 (.*) 表示匹配任意字符并捕获到 $1 变量中。
  • /$1: 重写后的目标 URL,$1 引用了正则表达式中捕获的内容,即 /api/ 后面的部分。
  • break: 该指令表示在完成当前 rewrite 规则后,停止后续 rewrite 规则的匹配,直接使用当前重写后的 URL 进行访问。

示例:

假设我们有一个请求 /api/users,根据上述 rewrite 规则,Nginx 会进行如下操作:

  1. 匹配正则表达式:/api/users 匹配 /api/(.*),并将 users 捕获到 $1 变量。
  2. 重写 URL:将 URL 重写为 /$1,即 /users
  3. 执行 break 指令:停止后续 rewrite 规则的匹配,直接访问 /users

总结:

rewrite /api/(.*) /$1 break; 指令可以将所有以 /api/ 开头的请求重写为去掉 /api/ 后剩余部分的请求,并通过 break 指令结束本次重写。这在反向代理、URL 美化等场景中非常实用。

Nginx rewrite /api/(.*) /$1 break; 指令详解:URL 重写与 break 指令

原文地址: https://www.cveoy.top/t/topic/fUYr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录