rewrite规则
NGINX 中 rewrite最后的标记含义:
flag标记有:
last 相当于Apache里的[L]标记,表示完成rewrite,匹配完,再向下匹配。地址栏会显示跳转后的地址
break 终止匹配, 不再匹配后面的rewrite规则,地址栏会显示跳转后的地址
redirect 返回302临时重定向,地址栏会显示跳转后的URL
permanent 返回301永久重定向,无论是301跳转还是302跳转地址栏都会显示跳转后的URL
DNSPOD中显性URL 和 隐形URL区别 :
1. 显性URL:访问 aa 能看到地址栏显示bb,同时页面发生改变。
2. 隐形URL:访问 aa 地址栏还是显示aa,同时页面发生改变。
如果想实现访问www.aaa.com 跳转后还是www.aaa.com 同时页面展示的是www.bbb.com可以通过反向代理实现,或通过DNSPOD实现
1、rewrite配置
(1) 访问 bbs.etiantian.org或bbs.etiantian.org/(.*) 跳转到 www.baidu.com
[root@WEB extra]# cat bbs.confserver {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/ http://www.baidu.com/ permanent; }
解释:当匹配www.etiantian.org 或 www.etiantian.org/(.*)时,则跳转到www.baidu.com (2) 访问 bbs.etiantian.org或bbs.etiantian.org/(.*) 跳转到 www.baidu.com/bbs/
server {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/ http://www.baidu.com/bbs/ permanent; }当匹配www.etiantian.org 或 www.etiantian.org 下的任意内容时,则跳转到 www.baidu.com/bbs/(3) 访问 bbs.etiantian.org/bbs/或 bbs.etiantian.org/bbs/(.*) 跳转到 www.baidu.com/bbs/
server {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/bbs http://www.baidu.com/bbs/ permanent; }
当访问 bbs.etiantian.org/bbs 或 bbs.etiantian.org/bbs/ 或 bbs.etiantian.org/bbs/(.*) 跳转到 www.baidu.com/bbs/(4) 访问 bbs.etiantian.org/bbs/(.*) 跳转到 bbs.etiantian.org/www/(.*)
server {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/bbs/(.*) http://bbs.etiantian.org/www/$1 permanent; if ($host = 'www.playyx.com') { rewrite ^/games/zwx/ http://www.playyx.com/games/blryy/ permanent; }}如果匹配主机头www.playyx.com, 那么当访问www.playyx.com/games/zwx 跳转到 www.playyx.com/games/blryy/
$1=(.*)访问 bbs.etiantian.org/bbs/下的任意内容,跳转到 bbs.etiantian.org/www/下的任意内容
$1=第一个(.*)
$2=第二个(.*)(5) 访问bbs.etiantian.org/下的任意内容时, 跳转到 www.baidu.com/下的任意内容
server {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/(.*) http://www.baidu.com/$1 permanent; }^/(.*) //bbs.etiantian.org/下的任意内容
http://www.baidu.com/$1 //www.baidu.com/下的任意内容, $1=(.*)解释:
当访问 bbs.etiantian.org/(.*) 跳转到 www.baidu.com/(.*) (6) 访问bbs.etiantian.org/bbs 跳转到 www.etiantian.org/abcserver {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/(.*) http://www.etiantian.org/abc/$1 permanent;
}
解释:
当匹配 bbs.etiantian.org下的任意内容时,则访问 www.etiantian.org/bbs/ 下的任意内容(7) 访问:bbs.etiantian.org/download/(.*)/media/(.*) 时,跳转到:www.etiantian.org/(.*)/mp3/(.*).mp3
[root@web-31 extra]# cat www.conf server {listen 80;server_name bbs.etiantian.org;location / {root html/www;index index.html;}rewrite ^/download/(.*)/media/(.*)$ http://www.etiantian.org/$1/mp3/$2.mp3 last;
}
解释:
当访问:bbs.etiantian.org/download/(.*)/media/(.*) 时,跳转到:www.etiantian.org/(.*)/mp3/(.*).mp3 $1=(/download/.*)=test1
$2=(.*)=test2(8)nginx上配有aaa.example.com的虚拟主机,现在需要将访问http://aaa.example.com/api/x.x/client/的请求转到http://bbb.example.com:8001/api/x.x/client/,bbb.example.com的虚拟主机在另外一台nginx上,其中x.x表示位数不定的版本号,如:1.0或1.20.345都可能。请求转过去要求url保持不变
server {listen 80;server_name aaa.example.com;location / {root /alidata/www/static;index index.html;}rewrite ^/api/(.*)/client/(.*)$ http://bbb.example.com:8001/api/$1/client/$2 permanent;
}
2、某公司线上配置rewrite
(1) nginx主配置文件
# cat /alidata/nginx/conf.d/upstream.conf#反向代理地址池
upstream playyx_com { server 10.1.10.10:81;
}server
{listen 80;server_name ht.playyx.com xl.playyx.com www.rocen.com.cn;location / {include /alidata/nginx/conf.d/go2eu/tupian.conf; #跳转到rewrite配置文件proxy_pass http://playyx_com; #反向代理指向地址池proxy_next_upstream http_502 http_504 error timeout invalid_header;proxy_set_header Host $host; # $host表示主机头,也就是被访问域名proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }location ~* \.(cvs|svn|git|hg|bzr|sql|phar|tpl|sh|log)$ {deny all;
}location ~* /\.svn/ {deny all;
}
}
相关文章:
rewrite规则
NGINX 中 rewrite最后的标记含义: flag标记有: last 相当于Apache里的[L]标记,表示完成rewrite,匹配完,再向下匹配。地址栏会显示跳转后的地址 break 终止匹配, 不再匹配后面的rewrite规则,地址栏会显示跳…...
Android车机DIY开发之学习篇(七)NDK交叉工具构建
Android车机DIY开发之学习篇(七)NDK交叉工具构建 1.ubuntu安装GCC sudo apt-get update sudo apt-get install gcc g sudo gcc --version sudo g --version 2.测试GCC VSCODE中新建Hello.c编译 #include <stdio.h> int main(void) { printf(“Hello, this is a progr…...
【初/高中生讲机器学习】0. 本专栏 “食用” 指南——写在一周年之际⭐
创建时间:2025-01-27 首发时间:2025-01-29 最后编辑时间:2025-01-29 作者:Geeker_LStar 你好呀~这里是 Geeker_LStar 的人工智能学习专栏,很高兴遇见你~ 我是 Geeker_LStar,一名高一学生,热爱计…...
虚幻基础11:坐标计算旋转计算
能帮到你的话,就给个赞吧 😘 文章目录 坐标line startget actor rotationget forward vector 旋转计算 坐标 ue中通常使用向量计算坐标。 line start 起始坐标点。 get actor rotation 获取旋转值: 当前角色朝向 get forward vector 获…...
Rust:Rhai脚本编程示例
当然,以下是一个简单的Rhai脚本编程示例,展示了如何在Rust中使用Rhai执行脚本。 首先,你需要确保你的Rust项目中包含了rhai库。你可以在你的Cargo.toml文件中添加以下依赖项: [dependencies] rhai "0.19" # 请检查最…...
关于el-table翻页后序号列递增的组件封装
需求说明: 项目中经常会用到的一个场景,表格第一列显示序号(1、2、3...),但是在翻页后要递增显示序号,例如10、11、12(假设一页显示10条数据),针对这种情况,封…...

【深度学习】softmax回归
softmax回归 回归可以用于预测多少的问题。 比如预测房屋被售出价格,或者棒球队可能获得的胜场数,又或者患者住院的天数。 事实上,我们也对分类问题感兴趣:不是问“多少”,而是问“哪一个”: 某个电子邮…...

设计模式-建造者模式、原型模式
目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,…...

【Redis】List 类型的介绍和常用命令
1. 介绍 Redis 中的 list 相当于顺序表,并且内部更接近于“双端队列”,所以也支持头插和尾插的操作,可以当做队列或者栈来使用,同时也存在下标的概念,不过和 Java 中的下标不同,Redis 支持负数下标&#x…...

三个不推荐使用的线程池
线程池的种类 其实看似这么多的线程池,都离不开ThreadPoolExecutor去创建,只不过他们是简化一些参数 newFixedThreadPool 里面全是核心线程 有资源耗尽的风险,任务队列最大长度为Integer.MAX_VALUE,可能会堆积大量的请求ÿ…...

mybatis(78/134)
前天学了很多,关于java的反射机制,其实跳过了new对象,然后底层生成了字节码,创建了对应的编码。手搓了一遍源码,还是比较复杂的。 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE …...

Progressive Pretext Task Learning for Human Trajectory Prediction | 文献翻译
祥龙回首留胜景,金蛇起舞贺新程。 概述 行人轨迹预测是一项旨在预测行人未来位置的任务,它通常涵盖了从短期到长期的整个时间范围内的轨迹。然而,现有的研究试图通过单一、统一的训练范式来解决整个轨迹预测问题,往往忽视了行人轨…...

54.数字翻译成字符串的可能性|Marscode AI刷题
1.题目 问题描述 小M获得了一个任务,需要将数字翻译成字符串。翻译规则是:0对应"a",1对应"b",依此类推直到25对应"z"。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…...
【数据结构】_链表经典算法OJ(力扣版)
目录 1. 移除链表元素 1.1 题目描述及链接 1.2 解题思路 1.3 程序 2. 反转链表 2.1 题目描述及链接 2.2 解题思路 2.3 程序 3. 链表的中间结点 3.1 题目描述及链接 3.2 解题思路 3.3 程序 1. 移除链表元素 1.1 题目描述及链接 原题链接:203. 移除链表…...
【Linux】统计文本中每行指定位置出现的字符串的次数
统计文本中每行指定位置出现的字符串的次数 假定情景 某些项目,会把某个特定事件记录到Log中并且落盘(保持到硬盘)。基于落盘后的日志,要统计这些日志里产生该特定事件的次数 统计脚本 可以写一个sh脚本,来解析某个…...

【赵渝强老师】K8s中Pod探针的ExecAction
在K8s集群中,当Pod处于运行状态时,kubelet通过使用探针(Probe)对容器的健康状态执行检查和诊断。K8s支持三种不同类型的探针,分别是:livenessProbe(存活探针)、readinessProbe&#…...

商品信息管理自动化测试
目录 前言 一、思维导图 二、代码编写 1.在pom.xml文件中添加相关依赖 2.自动化代码编写 三、代码测试 小结 前言 1. 针对商品信息管理项目进行测试,商品信息管理项目主要有商品列表页、部门列表页、员工列表页,主要功能:对商品信息的…...

Redis实战(黑马点评)——redis存储地理信息、位图、HyperLogLog 用法
Redis存储geo数据类型基本介绍 geo 就是 geolocation 的简写形式,代表地理坐标。redis 在 3.2 版本中加入了对 geo 的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: geoadd:添加一个地理空…...
判断1到100之间有多少个素数,并输出所有的素数。
def is_prime(num): #判断一个数是否素数if num<1:return False #因为1和负数都不是素数for i in range(2,int(num**0.5)1): #从2开始到根号num的整数结束,因为一个数num不是素数,那么把必定有一个小于或等于根号num的因素if num%i0:return False #如…...

JAVA:利用 Content Negotiation 实现多样式响应格式的技术指南
1、简述 Content Negotiation(内容协商) 是 RESTful 服务的重要特性,允许客户端和服务器根据请求的不同特性动态选择适合的响应格式。它是一种在 HTTP 协议中实现的机制,通过它,服务器能够根据客户端需求返回适合的内…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...