nginx rewrite 用法,用rewrite去除URL中的特定参数

nginx反向代理(注意点) nginx反向代理遇到的一些小问题 阅读详情
AI摘要

本文介绍Nginx中rewrite指令的用法,重点讲解如何通过正则匹配和break指令去除URL中的特定路径前缀(如/apis/),实现请求路径重写与后端服务解耦。内容涵盖rewrite语法、last与break的区别、实际代理转发配置示例,适用于Nginx反向代理和URL标准化场景。

Nginx rewrite 用法:用 rewrite 去除 URL 中的特定参数

日常服务中经常会用 Nginx 做一层代理转发,把 Nginx 当做前置机。

比如,以下配置:

server {
    # 对外暴露 80 端口
    listen    80;
    server_name 192.168.10.231;

    # 后端 API 地址暴露为:http://192.168.10.231/apis
    location /apis {
        proxy_pass   http://127.0.0.1:8000/;
        proxy_pass_request_headers      on;
          # 重写 URL 去除 /apis
        rewrite "^/apis/(.*)$" /$1 break;
    }

}

这里的 rewrite 就是为了去除 URL 中的 /apis,实际的后端 API 中是没有这个参数的,但是为了在 Nginx 转发请求时进行区分,前端需要加上这个参数。

比如前端的请求地址是:

http://192.168.10.231/apis/user

那么实际上经过 Nginx 转发后请求的地址是:

http://127.0.0.1:8000/user

rewrite "^/apis/(.*)$" /$1 break,路径重写:

(1) "^/apis/(.*)$":匹配路径的正则表达式,用了分组语法就是 (.*),把 /apis/ 以后的所有部分当做第 1 组;
(2) /$1:重写的目标路径,这里用 $1 引用前面正则表达式匹配到的分组(组编号从 1 开始,也就是 /apis/ 后面的部分),即 /apis/ 后面的所有内容。这样新的路径就是除去 /apis/ 以外的所有,就达到了去除 /apis 前缀的目的。

break:指令,常用的有 2 个,分别是:last、break;

(1) last:重写路径结束后,将得到的路径重新进行一次路径匹配;
(2) break:重写路径结束后,不再重新匹配路径。

Nginx 之Rewrite 使用详解 Nginx 的rewrite模块是处理 HTTP 请求过程中的一个重要功能,它允许基于 Perl 兼容正则表达式(PCRE)对用户请求的 URI 进行重写,并返回 30x 重定向跳转或按条件执行相关配置。这个模块提供了灵活的 URL 重写和重定向功能,可以用于实现友好 URL、301/302 重定向、条件重写等。 阅读详情

相关推荐

数据埋点系列 3|数据质量保证:验证、清洗与管理

数据质量管理是一个持续的过程,需要技术和组织文化的共同支持。通过本文,我们深入探讨了数据质量保证的各个方面,从基本的验证和清洗技术,到高级的监控和自动化策略。主动的而非被动的自动化的而非手动的持续的而非一次性的全面的而非局部的随着数据在决策中的作用越来越重要,确保数据质量将成为每个数据驱动型组织的核心竞争力。通过实施本文中讨论的策略和技术,你将能够建立一个强大的数据质量保证体系,为你的组织带来更可靠、更有价值的数据洞察。

一个8年大数据开发工程师的碎碎念 1464

Nginx实现路径重写rewrite指令

Nginx提供了rewrite指令,用于对地址进行重写,语法规则: rewrite "用来匹配路径的正则" 重写后的路径 [指令]; 我们实现把**/api/upload**重写为**/upload**的功能,在Nginx的配置文件中配置如下内容: # 上传路径的映射 location /api/upload { p...

weixin_34267123的博客 7723

高速接口SI验证核心:Loopback回环测试原理与三层实践

Loopback(回环测试)是高速数字接口信号完整性(SI)验证的基础技术,其本质是通过内部路径将发送信号原路返回接收端,实现芯片级物理层行为的隔离测量。原理上分为数字环回、近端模拟环回和远端模拟环回三层,分别对应协议逻辑、TX/RX模拟前端及全链路SI压力验证。该技术具备强工程落地性,能直接暴露驱动器温漂、封装阻抗失配、电源噪声耦合等底层问题,在PCIe 5.0、CXL、HBM3等先进接口验证中不可替代。结合PRBS序列激励、眼图分析与BER量化,loopback成为连接仿真模型校准与系统联调的关键枢纽,

weixin_34274029的博客 408

nginx解决前端跨域问题重现及解决方案

要重现跨域问题,首先得有一个请求的服务端和一个请求端,由于本文不需要其他很复杂的操作,就简单的写一个webapi跟页面就好了,使用iis部署。开发工具vs2017 先创建一个空的WebApi工程 在Models目录下新建一个UserInfo的model,其实就是一个结构类而已,添加几个属性: public class UserInfo { public in...

huangli321456的专栏 3759

FOFA奇技淫巧:从搜索语法到实战场景的深度挖掘

本文深入探讨了FOFA搜索语法在网络空间测绘中的高效应用,从基础语法到实战场景的深度挖掘。通过渗透测试、威胁狩猎、资产发现等实际案例,展示了如何利用FOFA精准定位目标系统、识别蜜罐、追踪威胁,并提供了合规使用指南和性能优化技巧,助力安全工作者提升效率。

weixin_32428571的博客 238

SiC MOSFET驱动设计实战:从特性解析到电路优化

本文深入解析SiC MOSFET的核心特性及其驱动电路设计要点,涵盖高温稳定性、快速开关能力等关键特性,并提供驱动电压配置、电流能力计算、布局优化等实用方案。特别针对第三代电力电子半导体SiC MOSFET的驱动要求,分享STGAP1AS等典型驱动方案的应用技巧,助力工程师解决高频应用中的EMI和热管理挑战。

weixin_29230865的博客 368

nginx rewrite作用

rewrite"^/api/(.*)$"/$1break,路径重写: "^/api/(.*)$":匹配路径的正则表达式,用了分组语法,把/api/以后的所有部分当做1组 /$1:重写的目标路径,这里用$1引用前面正则表达式匹配到的分组(组编号从1开始),即/api/后面的所有。这样新的路径就是除去/api/以外的所有,就达到了去除/api前缀的目的 break:指令,常用的有2个,分别是:last、break last:重写路径结束后,将得到...

Silenchen11的博客 943

置顶必读(2) |《滚雪球学数学建模》专栏目录 & 历年国赛/美赛真题库 & 真题解析(持续更新中)

本专栏《滚雪球学数学建模》采用“从零开始、逐步滚雪球”的学习路径,把数学建模的基础理论、方法工具与大量实战真题(尤其是国赛题,涵盖2025-1992所有真题)有机融合,形成一套系统化训练路线。非常适合零基础入门、希望提升模型与工程化能力的本科/研究生,以及备战全国大学生数学建模竞赛(国赛/省赛)的同学。加油,我们一起把建模能力打造成可迁移的核心竞争力!

**My Coding Family** 26万+

web前端培训nginx配置规则

以下文章来源于CodeLee前端开发 location的匹配规则 = 表示精确匹配。只有请求的url路径与后面的字符串完全相等时,才会命中。 ^~ 表示如果该符号后面的字符是最佳匹配的,采用该规则,不再进行后续的查找。 ~ 表示该规则是使用正则定义的,区分大小写。 ~* 表示该规则是使用正则定义的,不区分大小写。 注意的是,nginx的匹配优先顺序按照上面的顺序进行优先匹配,而且注意的是一旦某一个匹配命中直接退出,不再进行往下的匹配_前端培训 剩下的普通匹配会按照最长匹配长度优先.

weixin_45695430的博客 726

基于RK3568的YOLOv11模型端侧推理优化与部署实战指南

在AI边缘计算领域,瑞芯微RK3568芯片凭借其强大的NPU算力和丰富的接口资源,成为了众多开发者的首选平台。然而,瑞芯微官方文档虽然提供了YOLO11预训练模型的部署方案,但对于需要自定义数据集训练的开发者来说,从模型训练到板端部署的完整流程却缺乏详细指导。本文将带你走完从环境搭建、数据准备、模型训练到最终板端部署的完整技术路线,并分享实际开发中遇到的各种坑点和解决方案。让我们一起探索如何在RK3568平台上实现30FPS稳定推理的YOLO11目标检测应用!

m0_64661770的博客 115

ShowDoc item_id 未授权SQL注入漏洞复现

2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前置条件,易于利用,且默认情况下可暴破用户token获取系统后台权限,建议所有使用该系统的企业尽快升级修复,以确保系统安全。

0xSec 2360

Nginx URL重写(rewrite)配置及信息详解

Nginx URL重写(rewrite)配置及信息详解 URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中 Nginx URL重写(rewrite)介绍 和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持 rewrite是实现URL重写的关键指令,根

hejingdong123的博客 863

基于STM32设计的老人摔倒检测报警系统【升级版】(235)

在 `235 基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)` 项目基础上增加了心率、血氧、体温测量3个功能。

1511

Nginx服务 rewrite、proxy_pass 用rewrite去除URL中的特定参数

(2)/$1:重写的目标路径,这里用$1引用前面正则表达式匹配到的分组(组编号从1开始,也就是api),即/api/后面的所有。1、用户访问 http://x.com/test/api/oauth2/...... 需要请求到 http://y.com/api/oauth2/...... 去除 test。总体来说,这段配置的作用是将客户端请求中以 /test/ 开头的路径重写为去掉 /test/ 部分的路径,并将重写后的请求转发到 http://b.com 进行处理。比如前端的请求地址是。

三人行,必有我师焉。 1981

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

nginx rewrite和根据url参数location

最近项目中涉及到旧老项目迁移,需要在nginx上做些配置,所以简单学习了下,好记性不如烂笔头,先记下来。 rewrite 首先查看下nginx是否支持rewrite: ./nginx -V

kkwant的博客 7988

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Nginx Rewrite

Nginx Rewrite前言一、nginx rewrite概述(1)(2)跳转场景(3)跳转实现(4)rewrite实际场景①nginx跳转需要的实现方式②rewrite放在server{}, if{},location{}段中③对域名或参数字符串二、常见的Nginx正则表达式(1)常见的正则表达式的元字符(2)正则表达的优势③Nginx使用正则的作用三、rewrite(1)rewrite语法(2)rewrite执行顺序四、location分类和优先级(1)location匹配规则格式(2)locatio

qq1356059950的博客 2万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Nginx系列】Nginx中rewrite模块

Nginx 的 rewrite 模块是,它主要用于改写请求 URI,是 Nginx 默认安装的模块之一。通过使用 rewrite,可以实现 URL 重写和重定向,这在网站开发和维护中有着广泛的应用。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 2万+

nginx中rewrite用法

rewrite功能就是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。 rewrite只能放在 server{}, location{}, if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用。 例如 https://www.yihanzhi.com/article/food/index?id=1&ip=ipstr#location=...

yihanzhi的博客 2405

nginx重定向到其他url方法_Nginx:rewrite 的几个技巧

在软件的发布中,我们经常会使用到 Nginx,Nginx 的功能非常的庞杂,其中 rewrite 是一个非常常用的功能模块,本文介绍 rewrite 的基本概念和几个小技巧。rewrite 是 Nginx 中的一个模块,这个模块用来重定向页面,在 rewrite 模块中包含了几个指令来实现不同的功能:returnrewriteifreturn 指令return 指令是 rewrite 模...

weixin_39814925的博客 6729

php,nginx配置重定向,rewrite

需求,将http://localhost:80/index/abc rewrite为http://localhost:80/aaa.php/abc 访问网站时只输入http://localhost:80/index/abc 经过nginx rewrite后, 重定访问路径为:http://localhost:80/abc.php/abc rewrite指令的功能就是,使用nginx提供的全局变量或自己设置的变量,然后结合正则表达式和标志位实现url重写以及重定向。rewrite指令只能放...

codeFly 5062

从零手写实现 nginx-26-rewrite url 重写

大家好,我是老马。很高兴遇到你。我们为 java 开发者实现了 java 版本的 nginx如果你想知道 servlet 如何处理的,可以参考我的另一个项目:手写从零实现简易版 tomcatminicat。

1547
上一篇: 解决 cURL error 60: SSL certificate problem: unable to get local issuer certificate
下一篇: 部署Nginx,配置文件
陈卿诺语
博客等级 码龄5年 167粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值