超详细的Nginx之rewrite

本文详细介绍了Nginx的Rewrite功能,包括Rewrite的使用场景、命令语法、flag标记,以及location的分类和优先级。通过多个实战案例,如基于域名、IP、参数的跳转,展示了Rewrite的实际应用。
摘要由CSDN通过智能技术生成

Nginx如何rewrite

文章目录

前言

一、Rewrite介绍

1.1:Rewrite跳转场景
1.2:Rewrite跳转实现
1.3:Rewrite实际场景
1.4:Nginx正则表达式

二、Rewrite命令介绍

2.1:Rewrite命令语法
2.2:flag标记说明
2.3:last和break的区别

三、location介绍

3.1:location的分类
3.1.1:正则匹配的常用表达式
3.2:location优先级
3.3:比较rewrite和location
3.4:location优先级规则
3.5:location优先级示例

四、应用实例

4.1:基于域名的跳转
4.1.1:需求
4.1.2:配置
4.1.3:验证
4.2:基于客户端Ip访问跳转
4.2.1:需求
4.2.2:配置
4.2.3:验证
4.3:基于新、旧域名跳转
4.3.1:需求
4.3.2:配置
4.3.3:验证
4.4:基于参数匹配跳转
4.4.1:需求
4.4.2:配置
4.4.3:验证
4.5:基于最普通URL请求的跳转
4.5.1:需求
4.5.2:配置
4.5.3:验证

前言

ngx_http_rewrite_module模块用于使用PCRE正则表达式更改请求URI,返回重定向并有条件地选择配置

一、Rewrite介绍

1.1:Rewrite跳转场景
  • URL看起来更规范、合理
  • 企业会将动态URL地址伪装成静态地址提供服务
  • 网址换新域名后,让旧的访问跳转到新的域名上
  • 服务端某些业务调整
1.2:Rewrite跳转实现

在这里插入图片描述

1.3:Rewrite实际场景
  • Nginx跳转需求的实现方式
    • 使用rewrite进行匹配跳转
    • 使用if匹配全局变量后跳转
    • 使用location匹配再跳转
  • rewrite放在server{},if{},location{}段中
    • location只对域名后边的除去传递参数外的字符串器作用
  • 对域名或参数字符串
    • 使用if全局变量匹配
    • 使用proxy_pass反向代理
1.4:Nginx正则表达式
字符 说明
^ 匹配输入字符串的起始位置
$ 匹配输入字符串的结束位置
* 匹配前面的字符零次或多次
+ 匹配前面的字符一次或多次
? 匹配前面的字符灵草零次或一次
. 匹配除"\n"之外的任何单个字符
\ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用
\d 匹配纯数字
{n} 重复n次
{n,} 重复n次或更多次
[c] 匹配单个字符c
[a-z] 匹配a-z小写字母的任意一个
[a-zA-Z] 匹配a-z小写字母或A-Z大写字母的任意一个
  • 使用诸如 “[.\n]” 之类的模式,可匹配包括 “\n” 在内的任意字符

二、Rewrite命令介绍

2.1:Rewrite命令语法

在这里插入图片描述

2.2:</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值