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

这篇具有很好参考价值的文章主要介绍了nginx rewrite 用法,用rewrite去除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 “^/api/(.)”/1 break,路径重写:

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

break:指令,常用的有2个,分别是:last、break;文章来源地址https://www.toymoban.com/news/detail-742604.html

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

到了这里,关于nginx rewrite 用法,用rewrite去除URL中的特定参数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx 获取自定义请求header头和URL参数

    在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可获得请求头HEADER的内容。 在 nginx配置中,通过$http_HEADER 即可获得请求头HEADER的内容。 案例: 在nginx的location配置中,在获取header配置时, 须要在header名称前面加上固定前缀“http_“,并将header名称中的“-”中划线变为下划线

    2024年02月04日
    浏览(24)
  • IIS配置反向代理URL rewrite.dll加载失败

    2022年10月9日17:58:33更新: 不要尝试了,以下方法只能转发静态资源,不能转发接口数据。 Windows Server 2012R2 + IIS8.5 + URL Rewrite2.1 安装URL ReWrite后,出现503报错, 事件查看器中显示: 模块 DLL C:Windowssystem32inetsrvrewrite.dll 未能加载。返回的数据为错误信息。 1、双击URLRewrite.ms

    2024年02月06日
    浏览(27)
  • URLSearchParams:JavaScript中的URL查询参数处理工具

    在Web开发中,处理URL查询参数是一项常见的任务。为了简化这一过程,JavaScript提供了URLSearchParams API。URLSearchParams是一个用于解析、操作和生成URL查询参数的实用工具。它使开发人员能够方便地访问和修改URL中的查询参数,从而简化了URL参数的处理过程。本文将深入探讨URLS

    2024年02月01日
    浏览(24)
  • Docker中的Nginx配置代理实现不同url访问多个vue项目

    本篇文章接上回Docker中的Nginx配置代理实现不同url访问vue和springboot项目-CSDN博客 在上篇已经实现可以访问http://ip/qianduan   到我们的vue项目,但是有个问题就是如果多个vue项目在/assets/ 的静态资源文件夹就无法设置, 我试过在nginx里面使用if,try_files,map等使其根据不同请求的

    2024年03月16日
    浏览(48)
  • Nginx重写功能rewrite

    目录 一、Rewrite简单介绍 1、Rewrite的概述 2、Rewrite跳转场景 3、URI、URL、URN 4、Rewrite跳转实现 5、Rewrite实际场景  6、Nginx正则表达式 7、Rewrite执行顺序 二、location简单介绍 1、location的分类 2、location 常用的匹配规则 3、location的优先级 4、location示例说明 5、实际网站使用中,至

    2024年02月08日
    浏览(31)
  • Nginx Rewrite详解

    目录 一、Rewrite跳转场景 二、Rewrite跳转实现 三、Rewrite实际场景 1.nginx跳转需求的实现方式: 2.rewrite放在server{},if{},location{}段中 3.对域名或参数字符串 四、Rewrite正则表达式 五、Rewrite命令/语法格式 六、Location分类 1. location 大致可以分为三类: 2.location 常用的匹配规则:

    2024年02月07日
    浏览(30)
  • Nginx Rewrite的应用

    目录 一、Nginx Rewrite 二、Rewrite的功能  1.Rewrite  跳转场景 2.Rewrite  跳转实现 3.Rewrite  实际场景 4.Rewrite  正则表达式 5.Rewrite  命令/语法格式 6.location  分类 7.location  优先级 8.Rewrite和location比较 9.根据以上了解,小案例来操作实现我们在企业跳转案例 三、Rewrite  跳转场景

    2024年02月12日
    浏览(36)
  • 【Nginx】rewrite简单使用

    没有对正式的rewrite进行了解,为了能快速了解它是干嘛怎么用,找了一些有例子的博客进行简单学习了一下;由于每次看的间隔有点大,老忘记,这回专门写个超级快速理解的例子。 PS:下面的解释可能会不太对,大佬们可以分享一下正确说法;如果用法都有错了,请诸位指

    2024年02月15日
    浏览(29)
  • 8.Nginx Rewrite

    从功能看rewrite和location似乎有点像,都能实现跳转。 主要区别在于rewrite是在同一域名内更改获取资源的路径,而location是对一类路径做控制访问或反向代理,还可以proxy_pass到其他机器 rewrite对访问的域名或者域名内的URL路径地址重写 location对访问的路径做访问控制或者代理转

    2024年02月08日
    浏览(26)
  • Nginx rewrite

    目录 一、location 1.location 匹配规则介绍 2. 实际网站使用中匹配规则 2.1第一个必选规则 2.2第二个必选规则是处理静态文件请求,这是nginx作为http服务器的强项 2.3第三个规则就是通用规则 3.location 匹配规则演示 2.1一般前缀匹配 2.2正则匹配 2.3正则前缀匹配 2.4精准匹配 二、re

    2024年02月07日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包