当前位置: 首页 > news >正文

NGINX组件(rewrite)

一、location匹配的规则和优先级(*)

URI:统一资源标识符,是一种字符串标识,用于标识抽象的或者是物理资源;如:文件、图片、视频等

nginx中的URI匹配的是:网址”/“后的路径 如:…………/images/a.jpg

 location就是用来匹配URI的

匹配方式

匹配方式
1、精确匹配:location = / {……}
2、正则匹配:location ~ / {……}
3、一般匹配:location / {……}

匹配规则

匹配规则:
=精确匹配,完全匹配,不能错误一个字,必须要完全匹配
^~匹配普通字符,前缀匹配
$~结尾匹配
~        区分大小写的匹配
~*不区分大小写的匹配
!~区分大小写的匹配,并且逻辑取反
!~*

不区分大小写的取反

location匹配的原则:越精准,越匹配;同时优先级越高

总结:匹配的优先级——>越精准,优先级越高

location的优先级

location =  :精确匹配  

location ^~ :前缀匹配

location ~* :  正则匹配

location /xxx/ : 一般匹配的准确匹配

location / : 一般匹配

注意:一旦匹配成功,后续将不再匹配

工作中的location匹配规则

一、第一个 必选规则

location = / { }

原因:直接匹配根网站。直接通过域名访问首页是网站最常用的,直接使用精确匹配,可以加快处理,一般使用精确匹配处理的都是首页

二、第二个规则

location ^~ /static/ { }

处理静态文件的请求,目录匹配 (static为自定义)

三、

location ~* \.(gif | jpg | png | css)

匹配图片,但注意如果使用rewrite来指定后缀的类型,要在location定义中移除,不然会陷入死循环

四、通用规则

location / {

        proxy_pass   ————指定代理、反向代理,转发动态请求,如php.jsp请求 ,发到后端

}

rewrite 重写、重定向

rewrite使用nginx的全局变量,或是自己设置的变量,结合正则表达式,和标志位实现URL的重定向

default_type text/plain;

表示如果没有在其他地方显示:content_type的头字段,默认响应为text/plain纯文本格式

text/html :默认的响应类型,也就是页面

text/plain :纯文本格式,类似.txt文件

text/css :css样式的类型:css

text/javascript:java脚本,.js。前端文件,也可以理解是iava解析的程序文件。

rewrite 执行顺序

1、执行service模块中的rewrite

2、执行location中的匹配

3、如果location当中还有rewrite,则会继续执行

注意:如果不停的rewrite,则只会循环执行10次,10次过后进行报错,返回状态码:500

rewrite的语法

rewrite <regex(正则)> <replacement> [flag(标志位)]

过程:

rewrite:开始重定向

regex:正则匹配的规则

replacement :表示跳转后内容,要重定向的URL

flag:标志位

        标志位分为四种:

        permanent :永久重定向、返回码301 —— 永久性的变更URL,搜索引擎会转移他的权重,以及排名,到新的URL

        redirect :临时重定向,返回码:302 —— 用于短期变更(网站维护、升级、更新),搜索,是不会转移权重和排名

                返回码:304   指的是获取的是本地缓存

        break :重定向,但是不会改变原始的URL,内容会根据系统处理而显示重定向后的内容,并且只会请求一次,即刻跳出当前匹配,立即终止

        last :表示本条匹配完成后,继续向下匹配,只要有last就会继续进行匹配,配置时需要注意,防止死循环

配置基于域名的跳转

首先进入nginx的配置文件 进行修改

vim /usr/local/nginx/conf/nginx.confserver {listen       80;server_name  www.zheng.cc;#charset koi8-r;#access_log  logs/host.access.log  main;location / {if ($host = 'www.zheng.cc') {rewrite ^/(.*)$ http://www.bai.com/$1 permanent;}root   html;index  index.html index.htm;}
}

在本地hosts文件中写入配置的地址

echo "20.0.0.40 www.zheng.cc www.bai.com" >> /etc/hosts

重启nginx服务

systemctl restart nginx

测试:输入配置的地址 www.zheng.cc 后回车

 会跳转至配置的www.bai.com

相关文章:

NGINX组件(rewrite)

一、location匹配的规则和优先级&#xff08;*&#xff09; URI&#xff1a;统一资源标识符&#xff0c;是一种字符串标识&#xff0c;用于标识抽象的或者是物理资源&#xff1b;如&#xff1a;文件、图片、视频等 nginx中的URI匹配的是&#xff1a;网址”/“后的路径 如&…...

网页显示摄像头数据的方法---基于web video server

1. 背景&#xff1a; 在ros系统中有发布摄像头的相关驱动rgb数据&#xff0c;需求端需要将rgb数据可以直接在网页上去显示。 问题解决&#xff1a; web_video_server功能包&#xff0c;相关链接&#xff1a; web_video_server - ROS Wiki 2. 下载&#xff0c;安装和编译&a…...

SIFT 算法 | 如何在 Python 中使用 SIFT 进行图像匹配

介绍 人类通过记忆和理解来识别物体、人和图像。你看到某件事的次数越多,你就越容易记住它。此外,每当一个图像在你的脑海中弹出时,它就会将该项目或图像与一堆相关的图像或事物联系起来。如果我告诉你我们可以使用一种称为 SIFT 算法的技术来教机器做同样的事情呢? 尽管…...

K8S系列四:服务管理

写在前面 本文是K8S系列第四篇&#xff0c;主要面向对k8s新手同学。阅读本文需要读者对k8s的基本概念&#xff0c;比如Pod、Deployment、Service、Namespace等基础概念有所了解&#xff0c;尚且不了解的同学推荐先阅读本系列的第一篇文章《K8S系列一&#xff1a;概念入门》[1]…...

冠达管理:融券卖出交易规则?

融券卖出买卖是指投资者在没有实际持有某只股票的情况下&#xff0c;经过借入该股票并卖出来取得赢利的一种股票买卖方式。融券卖出买卖规矩针对不同市场、不同证券公司之间可能会存在一些差异&#xff0c;但基本的规矩包含如下几个方面。 一、融资融券的资历要求 在进行融券卖…...

图像变形之移动最小二乘算法(MLS)

基本原理 基于移动最小二乘的图像变形是通过一组源控制点和目标控制点来控制变形&#xff0c;对于每一个待求变形后位置的点而言&#xff0c;根据预设的形变类型&#xff08;如仿射变换、相似变换、刚性变换&#xff09;求解一个最小二乘优化目标函数估计一个局部的坐标变换矩阵…...

搭建一个功能齐全的网站

搭建一个功能齐全的网站,需要准备和掌握的一些关键技术和功能可概括如下: 前端技术: HTML/CSS - 网页内容结构和样式JavaScript - 实现网页交互功能前端框架(Vue、React等) - 更高效开发交互页面响应式设计 - 网站适配移动端 后端技术: 服务器(Linux、Nginx等) - 提供网站访…...

Java-jar和war包的区别

jar包和war包的区别&#xff1a; 1、war是一个web模块&#xff0c;其中需要包括WEB-INF&#xff0c;是可以直接运行的WEB模块&#xff1b;jar一般只是包括一些class文件&#xff0c;在声明了Main_class之后是可以用java命令运行的。 2、war包是做好一个web应用后&#xff0c;通…...

分类预测 | MATLAB实现CNN-BiGRU-Attention多输入分类预测

分类预测 | MATLAB实现CNN-BiGRU-Attention多输入单输出分类预测 目录 分类预测 | MATLAB实现CNN-BiGRU-Attention多输入单输出分类预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 Matlab实现CNN-BiGRU-Attention多特征分类预测&#xff0c;卷积双向门控循环…...

C#小轮子:Visual Studio自动编译Sass文件

文章目录 前言插件安装插件使用compilerconfig.jsonsass输入和css输出&#xff08;自动生成&#xff09;默认配置&#xff08;我不懂就不去动他了&#xff09; 解决Blazor热重载Bug 前言 我们知道css文件用起来太麻烦&#xff0c;如果样式一多&#xff0c;嵌套起来用css样式就…...

iOS字体像素与磅的对应关系

注意&#xff1a;低于iOS10的系统&#xff0c;显示的字宽和字高比高于iOS10的系统小。 这就是iOS10系统发布时&#xff0c;很多app显示的内容后面出现…&#xff0c;因而出现很多app为了适配iOS10系统而重新发布新版本。 用PS设计的iOS效果图中&#xff0c;字体是以像素&#x…...

阿里云ACP知识点

前言&#xff1a;记录ACP错题 1、在创建阿里云ECS时&#xff0c;每台服务器必须要包含_______用来存储操作系统和核心配置。 系统盘&#xff08;不是实例&#xff0c;实例是一个虚拟的计算环境&#xff0c;由CPU、内存、系统盘和运行的操作系统组成&#xff1b;ESC实例作为云…...

小视频AI智能分析系统解决方案

2022下半年一个项目&#xff0c;我司研发一个基于接收小视频录像文件和图片进行算法分析抓拍的系统&#xff0c;整理了一下主要思想如下&#xff1a; 采用C开发一个AI识别服务&#xff0c;该服务具有如下功能: 创建各类算法模型服务引擎池&#xff0c;每类池内可加载多个模型…...

简单谈谈 EMP-SSL:自监督对比学习的一种极简主义风

论文链接&#xff1a;https://arxiv.org/pdf/2304.03977.pdf 代码&#xff1a;https://github.com/tsb0601/EMP-SSL 其他学习链接&#xff1a;突破自监督学习效率极限&#xff01;马毅、LeCun联合发布EMP-SSL&#xff1a;无需花哨trick&#xff0c;30个epoch即可实现SOTA 主要…...

nginx的负载均衡

nginx的负载均衡 文章目录 nginx的负载均衡1.以多台虚拟机作服务器1.1 在不同的虚拟机上安装httpd服务1.2 在不同虚拟机所构建的服务端的默认路径下创建不同标识的文件1.3 使用windows本机的浏览器分别访问3台服务器的地址 2.在新的一台虚拟机上配置nginx实现反向代理以及负载均…...

linux系统服务学习(四)Linux系统下数据同步服务RSYNC

文章目录 Linux系统下数据同步服务RSYNC一、RSYNC概述1、什么是rsyncrsync的好姐妹数据同步过程 2、rsync特点3、rsync与scp的区别 二、RSYNC的使用1、基本语法2、本地文件同步3、远程文件同步思考&#xff1a;4、rsync作为系统服务Linux系统服务的思路&#xff1a; 三、任务解…...

走进 Linux

一、开关机 开机&#xff1a; 开机会启动许多程序。他们在windows叫做“服务”(service),在Linux就叫做“守护进程”&#xff08;daemon&#xff09;开机成功后&#xff0c;它会显示一个文本登录界面&#xff0c; 这个界面就是我们经常看到的登录界面&#xff0c;在这个登录界…...

Docker高级——Docker Swarm集群和部署应用

创建 Swarm 集群 初始化管理节点 [rootk8s-master ~]# docker swarm init --advertise-addr 192.168.192.133 Swarm initialized: current node (vy95txqo3pglh478e4qew1h28) is now a manager.To add a worker to this swarm, run the following command:docker swarm join …...

【SA8295P 源码分析】74 - QNX secpol 安全策略文件配置详解 及 secpol.bin 编译过程分析

【SA8295P 源码分析】74 - QNX secpol 安全策略文件配置详解 及 secpol.bin 编译过程分析 一、secpol 的编译流程:编译生成 secpol.bin 打包在 ifs2_la.img 中二、QNX 开启 secpol 功能三、为新进程 创建 新的secpol 安全策略:以 vmm_service 为例四、secpol 配置示例,以 I2…...

Docker入门使用

用一个hello world的小例子来入门docker 在 Docker 容器中部署 Python Flask 的简单 Hello World 项目&#xff0c;需要遵循以下流程&#xff1a; 编写应用程序 首先&#xff0c;在本地计算机上编写一个简单的 PythonFlask 应用程序&#xff0c;例如&#xff1a; # hello.…...

3分钟掌握图像矢量化神器:从像素马赛克到无限缩放矢量图

3分钟掌握图像矢量化神器&#xff1a;从像素马赛克到无限缩放矢量图 【免费下载链接】vectorizer Potrace based multi-colored raster to vector tracer. Inputs PNG/JPG returns SVG 项目地址: https://gitcode.com/gh_mirrors/ve/vectorizer 还在为图片放大后出现模糊…...

告别黑屏!手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面(附LightDM背景修复)

告别黑屏&#xff01;手把手教你为OpenEuler 22.03 LTS配置漂亮的XFCE桌面&#xff08;附LightDM背景修复&#xff09;第一次在OpenEuler上看到XFCE桌面时&#xff0c;那种"服务器变工作站"的惊喜感至今难忘。但默认安装后的黑屏登录界面和简陋的桌面环境&#xff0c…...

Taotoken 用量看板如何帮助个人开发者管理月度成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken 用量看板如何帮助个人开发者管理月度成本 对于独立开发者而言&#xff0c;在项目开发中调用多个大模型 API 时&#xff0…...

基于树模型混合分类器的物联网入侵检测系统设计与实战

1. 项目概述&#xff1a;为什么要在物联网安全中引入树模型混合分类器&#xff1f;在物联网安全这个行当里干了十几年&#xff0c;我最大的感受就是“道高一尺&#xff0c;魔高一丈”。随着智能家居、工业物联网、车联网的爆炸式增长&#xff0c;联网设备的数量级早已不是当年可…...

Warcraft Helper终极指南:8大功能让魔兽争霸3在现代系统重获新生

Warcraft Helper终极指南&#xff1a;8大功能让魔兽争霸3在现代系统重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在Window…...

【趋势检测和隔离】使用小波进行趋势检测和隔离研究附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

AI智能体:从概念到现实的技术演进与应用前景

AI智能体正渐渐从科幻概念转变成现实应用里的关键角色&#xff0c;这是随着人工智能技术的快速发展而出现的情况。按照2024年发布的报告来看&#xff0c;全球已经存在超过67%的企业其正在规划或者早已经部署了和AI智能体相关的项目&#xff0c;预计到2026年的时候&#xff0c;这…...

利用大语言模型生成可解释特征:从黑盒预测到白盒决策的工程实践

1. 项目概述&#xff1a;当机器学习遇见“说人话”的特征在机器学习项目里摸爬滚打这么多年&#xff0c;我最大的感触之一就是&#xff1a;模型性能的瓶颈&#xff0c;往往不在算法本身&#xff0c;而在于我们喂给它的“食物”——特征。尤其是在处理文本数据时&#xff0c;这个…...

从‘黑客工具’到‘运维神器’:我是如何在Linux日常运维中用Netcat替代Telnet和Nmap的

从‘黑客工具’到‘运维神器’&#xff1a;Netcat在Linux日常运维中的五大实战场景如果你在运维领域摸爬滚打多年&#xff0c;一定遇到过这样的窘境&#xff1a;需要快速检查某个服务端口是否开放&#xff0c;却发现telnet没安装&#xff1b;想扫描几个常用端口&#xff0c;nma…...

构建企业级离线词典服务:ECDICT高性能架构设计与毫秒级查询优化

构建企业级离线词典服务&#xff1a;ECDICT高性能架构设计与毫秒级查询优化 【免费下载链接】ECDICT Free English to Chinese Dictionary Database 项目地址: https://gitcode.com/gh_mirrors/ec/ECDICT ECDICT是一个拥有150万词汇量的开源中英文词典数据库&#xff0c…...