Rewrite跳转原理和实现方法
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本文将为大家详细介绍Rewrite的跳转原理和实现方法,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,我们先来看看Rewrite的跳转原理:Rewrite跳转场景URL看起来更规范,合
千家信息网最后更新 2025年12月01日Rewrite跳转原理和实现方法
本文将为大家详细介绍Rewrite的跳转原理和实现方法,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,我们先来看看Rewrite的跳转原理:
Rewrite跳转场景
URL看起来更规范,合理企业会将动态URL地址伪装成静态地址提供服务网址换新域名后,让旧的访问跳转到新的域名上服务端某些业务调整Rewrite跳转实现

Rewrite实用场景
- Nginx跳转需求的实现方式
使用rewrite进行匹配跳转
使用if匹配全局变量后跳转
使用location匹配再跳转- rewrite放在server{},if{},location{}段中
- 对域名或参数字符串
使用if全局变量匹配
使用proxy_pass反向代理
常用的正则表达式元字符
| 字符 | 说明 |
|---|---|
| ^ | 匹配输入字符串的起始位置 |
| $ | 匹配输入字符串的结束位置 |
| * | 匹配前面的字符零次或多次 |
| + | 匹配前面的字符一次或多次 |
| ? | 匹配前面的字符零次或一次 |
| . | 匹配除\n之外的任何单个字符,使用诸如"[.\n]"之类的模式,可匹配包括"\n"在内的任意字符 |
| \d | 匹配纯数字 [0-9] |
| {n} | 重复多次 |
| {n,} | 重复n次或更多次 |
| [c] | 匹配单个字符c |
| [a-z] | 匹配a-z小写字母的任意一个 |
| [a-zA-Z] | 匹配a-z小写字母或A-Z大写字母的任意一个 |
Rewrite命令
语法:rewrite [flag]; 正则 跳转后的内容 rewrite支持的flag标记 flag标记说明:
| 标记 | 说明 |
|---|---|
| last | 相当于Apache的[L]标记,表示完成rewrite |
| break | 本条规则匹配完成即终止,不再匹配后面的任何规则 |
| redirect | 返回302临时重定向,浏览器地址会显示跳转后的URL地址,爬虫不会更新url |
| permanent | 返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,爬虫更新url |
last和break比较:
| last | break | |
|---|---|---|
| 使用场景 | 一般写在server和if中 | 一般使用在location中 |
| URL匹配 | 不终止重写后的url匹配 | 终止重写后的url匹配 |
location分类
分类: location = patt {} [精准匹配] location patt {} [一般匹配] location ~ patt {} [正则匹配]正则匹配的常用表达式:
| 标记 | 说明 |
|---|---|
| ~ | 执行一个正则匹配,区分大小写 |
| ~* | 执行一个正则匹配,不区分大小写 |
| !~ | 执行一个正则匹配,区分大小写不匹配 |
| !~* | 执行一个正则匹配,不区分大小写不匹配 |
| ^~ | 普通字符匹配;使用前缀匹配。如果匹配成功,则不再匹配其他location |
| = | 普通字符精准匹配。也就是完全匹配 |
| @ | 定义一个命名的location,使用在内部定向时 |
location优先级
**相同类型的表达式,字符创长的会优先匹配****按优先级排列** = 类型 ^~ 类型表达式 正则表达式(~和~*)类型 常规字符串匹配类型,按前缀匹配 通常匹配(/),如果没有其他匹配,任何请求都会匹配到比较rewrite和location
**相同点** 都能实现跳转**不同点** rewrite是在同一域名内更改获取资源的路径 location是对一类路径做控制访问或方向代理,还可以proxy_pass到其他机器**rewrite会写在location里执行顺序** 执行server块里面的rewrite指令 执行location匹配 执行选定的location中的rewrite指令location优先级的示例
##精确匹配/,主机名后面不能带任何字符串location = / {[ configuration A ] }##所有的地址都以/开头,这条规则将匹配到所有请求,但正则和最长字符串会优先匹配location / {[ configuration B ] }##匹配任何以/documents/开头的地址,当后面正则表达式没有匹配到时,才起作用location /documents/ {[ configuration C ]}##匹配任何以/documents/abc开头的地址,当后面正则表达式没有匹配到时,才会起作用location ~ /documents/abc {[ configuration D ]}##以/images/开头的地址,匹配符合后,停止往下匹配location ^~ /images/ {[ configuration E ]}##匹配所有以gif结尾的请求,/images/下的图片会被[configuration E]处理,因为^~的优先级更高location ~* \.(gif|jpg|jpeg)$ {[ configuration F ]}##最长字符匹配到/images/abc,优先级最低location /images/abc {[ configuration G ]}##以/images/abc开头的,优先级次之location ~ /images/abc {[ configuration H ]}##如果和正则~/images/abc/1.html相比,正则优先级更高location /images/abc/1.html {[ configuration I ]}location优先级规则
匹配某个具体文件:
(location = 完整路径)>(location ^~完整路径)>(location ~完整路径)>(location ~完整路径)>(location 完整路径)>(location /)
用目录做匹配访问某个文件:
(location = 目录)>(location ^~目录/)>(location ~ 目录)>(location ~ 目录)>(location 目录)>(location /)
看完上述内容,你们对Rewrite的跳转原理和实现方法大概了解了吗?如果想了解更多相关文章内容,欢迎关注行业资讯频道,感谢各位的阅读!
字符
正则
地址
优先级
表达式
路径
目录
字符串
开头
标记
类型
内容
域名
大小
规则
原理
场景
字母
方法
普通
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
可以单人生存的神奇宝贝服务器
湘潭app软件开发
湾区创见网络安全大会2021
网络安全画画作业
网络安全教育总结简报
南通从事软件开发工资
江苏手机直播app软件开发
应届毕业生软件开发范文
数据库技术基础课本答案
mooc数据库应用技术
单位网络安全保障工作情况范文
php远程管理多台服务器
任务栏为什么显示数据库
数据库第一范式怎么区分
参考数据库是什么意思
湖北健康智慧养老软件开发
vb.net数据库视频
上海锦游网络技术有限公司
网络安全威胁主要来自那里
联通网络安全模式
c程序远程数据库读写
英雄之城2服务器哪种好
riak数据库的优势
银行软件开发岗值得去吗
应届毕业生软件开发范文
西安西西弗斯软件开发哪家好
linux 服务器环境
赣州网络安全知识竞答
山东济南存储服务器销售电话
数据库带端口的怎么连接