Nginx的rewrite模块配置、域名自动跳转

本文详细介绍了Nginx的Rewrite模块,包括Rewrite的跳转场景、实现方式、实用场景以及Nginx正则表达式。同时,探讨了location的分类、优先级和与Rewrite的比较。通过多个实验示例,展示了基于域名、客户端IP、新旧域名加目录和参数匹配等不同情况下的URL跳转配置。
摘要由CSDN通过智能技术生成

Rewrite概述

Rewrite跳转场景

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

Rewrite跳转实现

在这里插入图片描述

Rewrite实用场景

  • Nginx跳转需求的实现方式
    使用 rewrite进行匹配跳转
    使用if匹配全局变量后跳转
    使用 location匹配再跳转
  • rewrite放在 server{},if{}, location{} 段中
  • 对域名或参数字符串
    使用if全局变量匹配
    使用 proxy_pass反向代理

Nginx正则表达式

常用的正则表达式元字符

字符 说明
^ 匹配输入字符串的起始位置
$ 匹配输入字符串的结束位置
* 匹配前面的字符零次或多次
+ 匹配前面的字符一次或多次
? 匹配前面的字符零次或一次
. 匹配除"In"之外的任何单个字符
\ 将后面接着的字符标记为一个特殊字符或一个原义字符或一个向后引用
\d 匹配纯数字
{n} 重复n次
{n,} 重复n次或更多次
[c] 匹配单个字符c
[a-z] 匹配a-z小写字母的任意一个
[a-zA-Z] 匹配a-z小写字母或A-Z大写字母的任意一个

Rewrite命令

Rewrite命令语法
rewrite  <regex>  <replacement>  [flag]
          正则      跳转后的内容   rewrite支持的flag标记

flag标记说明

标记 说明
last 相当于Apache的[L]标记,表示完成rewrite
break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值