Nginx Rewrite模块配置

本文详细介绍了Nginx的Rewrite模块,包括Rewrite的跳转场景、命令语法、flag标记以及location概述。讲解了如何利用Rewrite进行URL重写,以及在不同配置段中的使用。同时,通过配置实例演示了基于域名和客户端IP的跳转实验,以及旧、新域名跳转并加目录的应用场景。
摘要由CSDN通过智能技术生成

一、Rewrite概述

1.1、Rewrite跳转场景

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

1.2、Rewrite跳转实现

在这里插入图片描述

1.3、Rewrite实际场景

■ Nginx跳转需求的实现方式

● 使用rewrite进行匹配跳转
● 使用if匹配全局变量后跳转
● 使用location匹配再跳转

■ rewrite放在server{},if{}, location{} 段中

● location只对域名后边的除去传递参数外的字符串起作用

■ 对域名或参数字符串

● 使用if全局变量匹配
● 使用proxy_pass反向代理
(实现动静分离,将流量引入给别人)通过rewrite模块实现

1.4、Nginx正则表达式

在这里插入图片描述

二、Rewrite命令

2.1、Rewrite命令语法

在这里插入图片描述

2.2、flag标记说明

在这里插入图片描述
注:
redirect 重定向A到B 爬虫捕获A 临时重定向
permanent 重定向A到B 爬虫捕获B 永久重定向

2.3、last和break比较

在这里插入图片描述

三、location概述

3.1、分类

location = patt {} [精准匹配]
location patt {} [一般匹配]
location ~ patt {} [正则匹配]

3.2、正则匹配的常用表达式

在这里插入图片描述

3.3、location优先级

■ 相同类型的表达式,字符串长的会优先匹配

■ 按优先级排列

● = 类型
● ^~ 类型表达式
● 正则表达式(*) 类型
● 常规字符串匹配类型,按前缀匹配
● 通用匹配(/) ,如果没有其它匹配,任何请求都会匹配到

3.4、比较rewrite和location

■ 相同点

● 都能实现跳转

■ 不同点

● rewrite是在同一域名内更改获取资源的路径
● location是对一类路径做控制访问或反向代理,还可以proxy_pass到其他机器

■ rewrite会写在location

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值