Nginx Rewrite的应用

目录

一、Nginx Rewrite

二、Rewrite的功能 

1.Rewrite  跳转场景

2.Rewrite  跳转实现

3.Rewrite  实际场景

4.Rewrite  正则表达式

5.Rewrite  命令/语法格式

6.location  分类

7.location  优先级

8.Rewrite和location比较

9.根据以上了解,小案例来操作实现我们在企业跳转案例

三、Rewrite  跳转场景

五、Rewrite命令/语法

六、location分类

1.location 大致可以分为三类

2.location 常用的匹配规则

3.location 优先级

七、跳转案例

1.基于域名的跳转

①关闭防火墙和安全机制

②修改配置文件

③域名解析

④重启服务

⑤浏览器验证查看

 2.基于客户端 IP 访问跳转

①修改配置文件

② 创建网页返回执行文件

 ③重启服务

 ④前往浏览器验证

​编辑3.基于旧域名跳转到新域名后面加目录

①修改配置文件

②.域名解析

③重启服务

④浏览器测试

4.基于参数匹配的跳转

①.修改配置文件

 ②.重启服务

 ③.浏览器测试

5.基于目录下所有 php 结尾的文件跳转

①.修改配置文件

②.重启服务

③.浏览器测试

 6.基于最普通一条 url 请求的跳转

① .修改配置文件

​②.重启服务

③.浏览器测试


一、Nginx Rewrite

Rewrite主要的功能是实现URL重写,Nginx 的 Rewrite 规则采用 PCRE Perl 兼容正则表达式的语法进行规则匹配,如相使用 Nginx 的 Rewrite 功能,在编译 Nginx 前要编译安装 PCRE 库。Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程。

rewrite和location的功能有点相像,都能实现跳转,主要区别在于rewrite常用于同一域名内更改获取资源的路径,而location是对一类路径做控制访问和反向代理,可以proxy_pass到其他服务器。

Nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。

rewrite只能放在server{},location{},if{}中,

并且只能对域名后边的除去传递的参数外的字符串起作用。

二、Rewrite的功能 

1.Rewrite  跳转场景

2.Rewrite  跳转实现

3.Rewrite  实际场景

4.Rewrite  正则表达式

5.Rewrite  命令/语法格式

6.location  分类

7.location  优先级

8.Rewrite和location比较

9.根据以上了解,小案例来操作实现我们在企业跳转案例

三、Rewrite  跳转场景

1.URL看起来更规范、合理

2.企业会将动态URL地址伪装成静态地址提供服务

3.网址换成新域名后,让旧的访问跳转到新的域名上

4.服务端某些业务调整

URL:就是一个具体路径/位置,指的就是一个拥有相同类型/特性的对象集合

URN:用名称定位

四、Nginx跳转需要的实现方式

使用Rewrite进行匹配跳转——>防盗链

使用if匹配全局变量后跳转——>centos系统的全局变量不是Nginx服务本身全局变量

使用location匹配再跳转——>匹配的访问URL路径,location可以匹配本地重写以及跨服务器跳转

Rewrite放在server{} ,  if{} , location{ } 段中

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

对域名或参数字符串

使用if全局变量匹配

使用proxy_pass反向代理

五、Rewrite命令/语法

Rewrite         <regex>          <replacement>       [flag];

                      正则                跳转后的内容         Rewrite支持flag标记

flag标记说明

标记

last                 相当于Apache的[L]标记,表示完成Rewrite,在本条规则完成后,继续向下匹配新                           的location URL规则,一般在server和if当中

break              本条规则匹配完成即终止,不再匹配后面规则

redirect           返回302临时重定向,浏览器地址会显示跳转后的URL地址,爬虫不会更新URL

permanent      返回301永久重定向,浏览器地址会显示跳转后URL地址,爬虫更新URL

break和last类似,但是不会重新发起一次处理过程,而是直接放回处理结果

redirect            该标记表示当前规则匹配成功后立即进行重定向操作

permanent       该标记和redirect类似,但是永久重定向

set                    标记表示当前规则匹配成功设置一个变量,并把变量传入下一条规则

六、location分类

1.location 大致可以分为三类

精准匹配:location = / {...}

一般匹配:location / {...} 
正则匹配:location ~ / {...}

2.location 常用的匹配规则

= :进行普通字符精确匹配,也就是完全匹配。  location = yudh      www.kgc.com/yudh
^~ :表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其它 location。
~ :区分大小写的匹配。
~* :不区分大小写的匹配。
!~ :区分大小写的匹配取非。
!~* :不区分大小写的匹配取非。

3.location 优先级

首先精确匹配 =
其次前缀匹配 ^~
其次是按文件中顺序的正则匹配 ~或~*
然后匹配不带任何修饰的前缀匹配
最后是交给 / 通用匹配     

七、跳转案例

1.基于域名的跳转

①关闭防火墙和安全机制

②修改配置文件

vim /usr/local/nginx/conf/nginx.conf

③域名解析

echo "192.168.146.110www.kgc.com www.benet.com" >> /etc/hosts 

④重启服务

systemctl restart nginx

⑤浏览器验证查看

 2.基于客户端 IP 访问跳转

①修改配置文件

vim /usr/local/nginx/conf/nginx.conf

② 创建网页返回执行文件

mkdir -p /var/www/html/
echo "<h1>We are maintaining now!</h1>" > /var/www/html/weihu.html

 ③重启服务

systemctl restart nginx

 ④前往浏览器验证

本机浏览器

用另一台不同IP地址的浏览器测试

3.基于旧域名跳转到新域名后面加目录

①修改配置文件

vim /usr/local/nginx/conf/nginx.conf

②.域名解析

③重启服务

systemctl restart nginx

④浏览器测试

 

使用浏览器访问 http://bbs.kgc.com/post/1.html 跳转到 http://www.kgc.com/bbs/post/1.html

4.基于参数匹配的跳转

①.修改配置文件

vim /usr/local/nginx/conf/nginx.conf

 ②.重启服务

systemctl restart nginx

 ③.浏览器测试

使用浏览器访问 http://www.kgc.com/100-200-100.html 或 http://www.kgc.com/100-100-100.html 跳转到http://www.kgc.com页面。

5.基于目录下所有 php 结尾的文件跳转

①.修改配置文件

 vim /usr/local/nginx/conf/nginx.conf

②.重启服务

systemctl restart nginx

 ③.浏览器测试

浏览器访问 http://www.kgc.com/upload/123.php 跳转到http://www.kgc.com页面。

 6.基于最普通一条 url 请求的跳转

① .修改配置文件

vim /usr/local/nginx/conf/nginx.conf

②.重启服务

③.浏览器测试

浏览器访问 http://www.kgc.com/abc/123.html 跳转到http://www.kgc.com页面。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/32637.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python实现Canny算子边缘检测算法

边缘检测是一种将图片中关键信息表现出来的一种图片技术&#xff0c;它的结果并不是字面意思上的获取图片边缘&#xff0c;而是将图片有用的信息勾勒出来&#xff0c;类似素描的结果&#xff0c;但是已经去掉了很多信息。如下所示&#xff0c;一张原始的图片是这样的&#xff1…

自学黑客/网络安全工具软件大全100套

黑客工具软件大全100套 1 Nessus&#xff1a;最好的UNIX漏洞扫描工具 Nessus 是最好的免费网络漏洞扫描器&#xff0c;它可以运行于几乎所有的UNIX平台之上。它不止永久升级&#xff0c;还免费提供多达11000种插件&#xff08;但需要注册并接受EULA-acceptance–终端用户授权…

Redis7【④ Redis 发布 订阅】

Redis发布和订阅 本章了解即可&#xff0c;命令可以不用敲。 Redis 发布和订阅&#xff08;Publish/Subscribe&#xff0c;简称 Pub/Sub&#xff09;是一种消息传递模式&#xff0c;用于在 Redis 中实现消息的发布和订阅。 在 Redis 中&#xff0c;发布者&#xff08;Publi…

高通9x07平台关于模块modem射频 RF MCFG生成MBN的总结

1.1: cefs&#xff08;efs2.mbn)制作步骤&#xff1a;1.擦擦CEFS分区&#xff1b;2.导入HW_MBN,并激活&#xff1b;3.导入静态NV&#xff1b;4.生成CEFS; 1.2&#xff1a;激活hw_default mbn后&#xff0c;/policyman/目录下device_config.xml必需保留&#xff1b; 1.3&#xf…

Vision Transformer

论文名称&#xff1a; An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale 一、Patch Embedding模块 class PatchEmbed(nn.Module): # 对应Patch Embedding模块def __init__(self, img_size224, patch_size16, in_c3, embed_dim768, norm_layerNone…

实现一个转盘随机选择器

实现效果 完整代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title><…

Midjourney如何用参考图/垫图来绘画图

大家都知道AI绘画工具每次生成的效果都是随机的&#xff0c;但是现在很多AI绘图工具都提供了利用参考图/垫图的方式出图&#xff0c;这样就可以让让AI画作生成自己想要的布局、场景、色彩等等。 国内的AI绘图工具一般都好操作&#xff0c;国外主流的Midjourney也可以添加参考图…

DataV图表-排名轮播表自定义

DataV图表-排名轮播表自定义数据大屏可视化 场景&#xff1a;需要计算根据分数不同柱子的颜色不同 低于60分变成为橙色柱子 一开始使用的是 dv-scroll-ranking-board 这个不可以自定义颜色和属性 我们可以更改 dv-scroll-board 样式来实现 排名轮播表 安装 data-view npm ins…

2023年最新互联网Java面试八股文出炉(附大厂P5-P8技术栈)

为什么感觉 Java 面试变难了&#xff1f; 几年前&#xff0c;你只需要简单的ssm框架&#xff0c;就能轻松找到一份Java的工作&#xff0c;但现在不一样了&#xff0c;随着涌入这个行业的人越来越多&#xff0c;同一个岗位需要筛选掉更多人&#xff0c;要求自然水涨船高&#x…

短视频------Adobe Photoshop 笔记总结

一、Adobe Photoshop 使用方式方法 ctrlc/v 复制 粘贴 ctrlx 剪切 ctrla 全选 ctrlz撤销 ctrls保存 ENTER 回车 换行 CTRL 调取定界框 CAPSLOCK 大写锁定 Esc 退出 Delete 删除 Backspace 退格 Ctrl shi alt 三个控制键 Shi 连选 ctrl 加选/减选 锁屏 WinL 打开运行命令窗口 …

WLAN的Roaming机制和案例log解析

一 、WLAN漫游简介 [百度百科]:当网络环境存在多个相同SSID的AP,且它们的微单元互相有一定范围的重合时,无线用户可以在整个WLAN覆盖区内移动,无线网卡能够自动发现附近信号强度最大的AP,并通过这个AP收发数据,保持不间断的网络连接,这就称为无线漫游。 简单来说:WLA…

【SpringCloud config分布式配置中心】—— 每天一点小知识

&#x1f4a7; S p r i n g C l o u d c o n f i g 分布式配置中心 \color{#FF1493}{SpringCloud config分布式配置中心} SpringCloudconfig分布式配置中心&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的…

【Spring Cloud系列】-Eureka服务端高可用详解

【Spring Cloud系列】-Eureka服务端高可用详解 文章目录 【Spring Cloud系列】-Eureka服务端高可用详解一. 序言二. 什么是高可用性三. 什么是CAP一致性&#xff08;Consistency&#xff09;可用性&#xff08;Availability&#xff09;分区容错&#xff08;Partition-toleranc…

Lowe‘s EDI 项目数据库方案开源介绍

近期为了帮助广大用户更好地使用 EDI 系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 …

使用cloc软件对项目的代码行数进行统计

1、下载cloc https://github.com/AlDanial/cloc/releases 进入之后选择exe进行下载。 2、下载之后随意放在任意文件夹下&#xff0c;并修改命名为cloc.exe 3、然后设置该目录为环境变量 4、在需要统计代码行数的目录&#xff0c;shift右键&#xff0c;打开Powershell窗口 5、输…

多元回归预测 | Matlab麻雀算法(SSA)优化极限学习机ELM回归,SSA-ELM回归预测,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 多元回归预测 | Matlab麻雀算法(SSA)优化极限学习机ELM回归,SSA-ELM回归预测,多变量输入模型 评价指标包括:MAE、RMSE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变…

认识 SpringCloud 核心组件

✅作者简介&#xff1a;大家好&#xff0c;我是Cisyam&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Cisyam-Shark的博客 &#x1f49e;当前专栏&#xff1a; 微服务探索之旅 ✨特色专…

Spring Resources资源操作

文章目录 1、Spring Resources概述2、Resource接口3、Resource的实现类3.1、UrlResource访问网络资源3.2、ClassPathResource 访问类路径下资源3.3、FileSystemResource 访问文件系统资源3.4、ServletContextResource3.5、InputStreamResource3.6、ByteArrayResource 4、Resour…

PyGame游戏编程

Python非常受欢迎的一个原因是它的应用领域非常广泛&#xff0c;其中就包括游戏开发。而是用Python进行游戏开发的首选模块就是PyGame。 1. 初识Pygame PyGame是跨平台Python模块&#xff0c;专为电子游戏设计&#xff0c;包含图像、声音等&#xff0c;创建在SDL&#xff08;…

DAY31——贪心

1.分发饼干 class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int start 0;int count 0;for (int i 0; i < s.length && start < g.length; i) {if (s[i] > g[start]) {start;count;}}return count;} } …