Nginx rewrite /api/(.*) /$1 break; 指令详解:URL 重写与 break 指令
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 会进行如下操作:
- 匹配正则表达式:
/api/users匹配/api/(.*),并将users捕获到$1变量。 - 重写 URL:将 URL 重写为
/$1,即/users。 - 执行 break 指令:停止后续 rewrite 规则的匹配,直接访问
/users。
总结:
rewrite /api/(.*) /$1 break; 指令可以将所有以 /api/ 开头的请求重写为去掉 /api/ 后剩余部分的请求,并通过 break 指令结束本次重写。这在反向代理、URL 美化等场景中非常实用。
原文地址: https://www.cveoy.top/t/topic/fUYr 著作权归作者所有。请勿转载和采集!