广告位联系
返回顶部
分享到

nginx rewrite参数介绍

nginx 来源:互联网 作者:佚名 发布时间:2022-11-24 15:31:07 人浏览
摘要

在nginx的配置中,是否对rewrite的配置模糊不清,还有令人迷惑的$1、$2...参数,(其实$1、$2参数在shell脚本中经常用到,用来承接传递的参数)。本篇从反向代理配置的角度帮助理解一下

在nginx的配置中,是否对rewrite的配置模糊不清,还有令人迷惑的$1、$2...参数,(其实$1、$2参数在shell脚本中经常用到,用来承接传递的参数)。本篇从反向代理配置的角度帮助理解一下

1、先看一个nginx配置

1

rewrite ^/(user_\d)/(\d).html$ https://$host/?$1 permanent;

上面是我写的重写规则,先说$代表的是参数,所以一定是 () 包含的

  • () : 用于匹配括号之间的内容,通过$1、$2调用

  • $1 就是 user_\d

  • $2 就是 \d

举个例子

https://www.example.com/user_1/2.html

这里$1 就是 user_1

$2就是2

这实际上就是正则在nginx里面的运用, 下面看一下 正则 的规则,会帮助你理解????

2、正则

2.1、replace

1

stringObject.replace(regexp/substr, replacement)

replacement 可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。

字符 替换文本
1、1、2、...、$99 与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。
$& 与 regexp 相匹配的子串。
$` 位于匹配子串左侧的文本。
$' 位于匹配子串右侧的文本。
$$ 直接量符号。

2.2、正则匹配重写例子

  • 参数匹配,互换位置

1

2

3

name = "Tom, Jerry";

name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");

'Jerry Tom'

  • 参数获取

1

2

3

4

5

6

7

8

9

10

11

var str = '/pgk/api/pgk-abc'

var reg = /^\/pgk(.*)$/

 

str.replace(reg, "$1") // '/api/pgk-abc'

 

 

 

var str = '/pgk/api/pgk-abc/n/abc'

var reg = /^\/pgk\/api\/pgk-abc\/(.*)$/

 

str.replace(reg, "$1") // 'n/abc'

3、生产配置示例

下面是工作中的实际配置, 重写系统简称 ABC

1

2

3

4

5

6

7

location /ABC/api/pgk-abc/ {

  rewrite ^/ABC/(.*)$ /$1 break;

  proxy_pass http://ip:port;

  # 这里重写掉 ABC ,  $1 就是 api/pgk-abc/

  # 实际请求地址是: http://ip:port/api/pgk-abc/

  proxy_http_version 1.1;

}

本篇完, rewrite 相关的还有 break、last、permanent、redirect参数,下期继续分享。


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://www.cnblogs.com/all-smile/p/16913087.html
相关文章
  • shell脚本实战之部署nginx脚本实例介绍
    我们写脚本一定要从最简单的脚本开始,循序渐进,不要一上来就想着用for循环,用函数,而应该在写的过程中,突然发现这里可以改为函
  • nginx rewrite参数介绍
    在nginx的配置中,是否对rewrite的配置模糊不清,还有令人迷惑的$1、$2...参数,(其实$1、$2参数在shell脚本中经常用到,用来承接传递的参数
  • Nginx配置之main events块使用介绍
    作用 反向代理 负载均衡 web缓存 配置 nginx的配置主要可以划分为main、events、http、server、location块。 main:置影响nginx全局的指令。一般有运
  • Windows设置nginx开机自启动的方法

    Windows设置nginx开机自启动的方法
    使用环境:Windows 10 专业版,nginx 1.20.1 通过两种方式实现nginx的开机自启动:winws和window计划程序。 一、winws实现nginx开机自启动 1、首先下载
  • Clash Linux服务器安装教程

    Clash Linux服务器安装教程
    Clash软件安装 软件下载地址 github公开地址:https://github.com/Dreamacro/clash 1.使用wget下载linux安装包,保存并解压至/opt/clash文件夹中。 1 2 3 4 m
  • Nginx配置ssl证书(https)的全过程
    如果有防火墙的话,记得开通443端口 准备材料: 1.申请ssl证书,这个如何申请可以到百度搜一下,因为域名服务商不同,这里不做过多赘述; 2.服
  • 在Debian11上安装Openresty服务(Nginx+Lua)的教程
    OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处
  • Nginx的优化、安全与防盗链实例介绍

    Nginx的优化、安全与防盗链实例介绍
    1.Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改,就能实现Nginx页面
  • Nginx解决history模式下页面刷新404问题示例
    前置知识 单页应用(SPA - single page application) 只在第一次加载页面时,返回唯一的html页面和它的公共静态资源,后续的页面跳转都不会从服务
  • Nginx中rewrite(地址重定向)的深入剖析
    一、rewrite语法 指令语法:rewrite regex replacement[flag] 默认值:none 应用位置:server、location、if regex是PCRE 风格的,如果regex匹配URI,那么URI就会
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计