Nginx的location优先级和重定向

news2024/11/26 0:38:27

Nginx的location有优先级级和匹配方式:

在http模块有server,在server模块才有location,location匹配的是uri

/test

/image

在一个server当中有多个location,如何来确定匹配哪个location。

Nginx的正则表达式:

^:字符串的起始位置

$:字符串的结束位置

*:匹配所有

+:匹配前面的字符一次或者多次

?:匹配前面的字符0次或者1次

.:任意单个字符

{n}:连续重复出现n次

{n,m}:连续重复出现n-m次

  1. z/0-9/A-Z]

[c]:匹配单个字符c

():分组

|:或

Location匹配的分类:

location/

location~*

1.精确匹配location=/test {..}

要完整的路径,一个字都不能少,也不能错

2、正则匹配location ~ / {}

locatiion^~前缀匹配,以什么为开头

location~:区分大小写进行匹配

location~*:不区分大小写进行匹配

location!~:区分大小写取反匹配

location!~*:不区分大小写取反匹配

3、location /test {}  一般匹配

www.ky32.com/ 匹配A

www.ky32.com/index.html  匹配B

    www.ky32.com/a.jpg    匹配E

    www.ky32.com/images/abc  匹配D

    www.ky32.com/documnets   匹配C

注:location匹配一旦匹配成功,不再向下继续匹配。

#小实验测试优先级

Location匹配的优先级:

精确匹配优先级最高……其次是正则匹配……最后是一般匹配

Location=完整路径>location^~>location~,~*>location/test>location /

工作站中配置location的原则:

1.网站首页:都是精确匹配,网站首页都是一个静态页面。匹配网站的根工作目录

location= / {

}

2.处理静态文件的请求:目录匹配后和后缀匹配

location ^~/static {

location~*\. {html|jpg|jpeg|gif|png} $ {

}

3.一般规则:动态请求,把动态请求转发的后端

location/ {

proxy_pass http://tomcat server;{

}

nginx的重定向:

rewrit:结合nginx提供的全局变量和自定义的变量,结合正则表达式以及标志位实现URI重写以及重定向。

rewrit执行顺序

  1. 执行server块里面的rewrite
  2. 执行location里面定义的rewrite
  3. 选定location中的rewrite

rewrite中可以支持if语言条判断,只有if没有else

rewrite:

rewrite<regex><replacemnet>[flag]

<regex>:正则表达式

<replacemnet>:跳转的内容或者路径

[flag]:标志位 “标记”

flag:

1.last:本条规则匹配完成后,可以继续向下匹配新的locationURI规则

2.break:本条规则匹配完之后立即终止,页面内容变化,uri不变

    redirct:临时重定向302uri的地址会发生变化

  permanent:永久重定向301uri的地址会发生变化

 临时和永久区别:搜索引擎的权重

永久重定向会加入搜索引擎的排名

临时重定向不会加入搜索引擎的权重

break:跳转,跳转的时候不会改变uri,用的比较多

last:继续匹配

lnternal redircction cycle while processing

处理请求时发生了重写或者内部重定向循环,进入了无限循环,nginx循环最多可以执行10次,超过10次,会报错,500

总结:rewrite和location都可以跳转,似乎有点像,但是区别在于rewrite是在同一域名之内更改获取资源的路径,location是对路径访问控制。

三个实验:

1.基于域名的跳转:

www.kgc.com 但是公司业务变更,迁移到了新的域名www.benet.com代替,但是旧域名不能被废除,访问kgc可以跳转到benet,并且匹配的uri不能变。

vim nginx.conf

2.基于ip访问控制:

 公司业务新版本上线,用户访问网站统一显示固定的维护页面,只有公司的192.168.233.61可以访问。

3.基于目录下.php访问,php跳转到新的页面

Vim

vim /etc/hosts

重点:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推荐彩虹知识商城源码

彩虹知识商城7.0.3小森升级版新增供货商开心学习版&#xff0c;新增邮件提醒功能&#xff0c;支持给用户发订单、结算等邮件通知&#xff0c;支持给管理员发送提现、域名审核等邮件通知&#xff0c;支持设置手续费最低扣除金额&#xff0c;修复了其他一些已知问题。 演示地址&…

工作数字化的中国历程 | 从 OA 到 BPM 到数字流程自动化

业务流程是由“活动”&#xff08;或称“工作任务”&#xff09;构成的&#xff0c;在企业里的所有工作是不是都叫流程&#xff0c;或者属于流程的一部分&#xff0c;这个概念很绕&#xff0c;我觉得没有必要去做学究气的辨析。我曾经提出过一个从工作的两个特性&#xff08;产…

x86保护模式笔记

多任务 调用门权级规则 合法调用门g1定义: 门g1.DPL 贱于或等于 门g1.目标段.DPL若 代码段p1.CPL 优于或等于 门g1.DPL 则 p1 正常 call g1TSS 权级规则 权级规则4. p代码段CPL d数据段DPL: 判定p访问d 若 p代码段CPL < d数据段DPL, 则p能访问d …

听听ChatGPT对IT行业的发展和就业前景的看法

&#x1f308;个人主页: Aileen_0v0&#x1f525;系列专栏:PYTHON学习系列专栏&#x1f4ab;"没有罗马,那就自己创造罗马~" 目录 (1)判断素数 写法1: 写法2: (2)计算1-100的偶数之和 写法1: 写法2: (3)计算1-100的奇数之和 (4)多层循环 IT行业哪个方向比较…

腾讯云双十一云服务器活动:88元1年的云服务器难道不香吗?

腾讯云双十一活动中&#xff0c;有三款轻量应用服务器可享受特惠优惠。这三款服务器分别是2核2G、2核4G和4核8G&#xff0c;价格分别为88元/年、166.6元/年和529元/15个月。对于需要低成本而又高性能的服务器需求&#xff0c;轻量应用服务器是一个理想的选择。 轻量应用服务器特…

Linux常用命令——chattr命令

在线Linux命令查询工具 chattr 用来改变文件属性 补充说明 chattr命令用来改变文件属性。这项指令可改变存放在ext2文件系统上的文件或目录属性&#xff0c;这些属性共有以下8种模式&#xff1a; 语法 chattr(选项)选项 a&#xff1a;让文件或目录仅供附加用途&#xff…

某某盾-滑块验证-自动获取validate值-(逆向js+python)

我是标题 1.从get&#xff1f;网站获取滑块图片以及token1.1获取fp值1.2 获取cb值1.3 模拟发包 2.获取滑块移动距离3.发包获取最终的validate值3.1轨迹生成3.2 check网站发包3.3 获取data值 4.结论 本实验是根据某某盾示例网站 主要分为两个部分 1.从get&#xff1f;网站获取滑…

TypeScript 第一站概念篇

前言 &#x1f52e; 好长一段时间没有写文章了&#xff0c;原因是经历了一次工作变动&#xff0c;加入了一个有一定规模的开发团队&#xff0c;前端算上我有四个人&#xff0c;很欣慰&#xff0c;体验一下团队配合的感觉&#xff0c;在我之上有一个组长&#xff0c;比我年长四…

Portraiture4.0介绍与插件安装包下载

相信有很多需要经常进行图像处理的小伙伴的电脑上都有一款PS软件吧&#xff0c;PS的功能非常强大&#xff0c;各种细节处理都非常细致&#xff0c;但还是需要一些插件来帮我们快速处理图片&#xff0c;能够省去很多时间和精力。今天给大家介绍一款PS磨皮插件&#xff0c;能够快…

【Linux】进程等待

文章目录 进程等待进程等待必要性实验(见见猪跑)进程等待的方法wait方法waitpid**方法**宏的使用方法获取子进程status 阻塞VS非阻塞概念对比非阻塞有什么好处 具体代码实现进程的阻塞等待方式:进程的非阻塞等待方式:让父进程做其他任务 进程等待 进程等待必要性 之前讲过&am…

2023腾讯云双11优惠3年轻量2核2G4M服务器366.6元,三年价哦!

腾讯云3年轻量应用服务器配置为2核2G4M带宽、50GB SSD系统盘双11优惠价格366.6元三年、108元一年&#xff0c;只是限制月流量&#xff0c;套餐自带300GB月流量。腾讯云百科txybk.com分享2023腾讯云双11优惠活动3年轻量2核2G4M带宽优惠价格、购买条件&#xff1a; 3年轻量2核2G…

大模型的“成本瘦身”运动

数据大、参数量大、算力大&#xff0c;大模型的某些能力才会“涌现”&#xff0c;这一点在科技圈广为流传。 做大模型的主流思想是&#xff1a;不要轻易说模型“不行”&#xff0c;如果“它还没行”&#xff0c;那就做得更大一点。 所以&#xff0c;不到一年的时间&#xff0c;…

MySQL InnoDB数据存储结构

1. 数据库的存储结构&#xff1a;页 索引结构给我们提供了高效的索引方式&#xff0c;不过索引信息以及数据记录都是保存在文件上的&#xff0c;确切说是存储在页结构中。另一方面&#xff0c;索引是在存储引擎中实现的&#xff0c;MySQL服务器上的存储引擎负责对表中数据的读…

Visual Studio使用Git忽略不想上传到远程仓库的文件

前言 作为一个.NET开发者而言&#xff0c;有着宇宙最强IDE&#xff1a;Visual Studio加持&#xff0c;让我们的开发效率得到了更好的提升。我们不需要担心环境变量的配置和其他代码管理工具&#xff0c;因为Visual Studio有着众多的拓展工具。废话不多说&#xff0c;直接进入正…

佳易王商超便利店等会员快速积分、积分兑换管理系统软件下载

佳易王商超便利店等会员快速积分、积分兑换管理系统软件下载 一、佳易王会员管理软件大众版 部分功能简介&#xff1a; 1、会员信息登记 &#xff1a;可以直接使用手机号登记&#xff0c;也可以使用实体卡片&#xff0c;推荐用手机号即可。 2、会员卡类型 &#xff1a;可以自…

6.Spark共享变量

概述 共享变量 共享变量的工作原理Broadcast VariableAccumulator 共享变量 共享变量的工作原理 通常&#xff0c;当给 Spark 操作的函数(如 mpa 或 reduce) 在 Spark 集群上执行时&#xff0c;函数中的变量单独的拷贝到各个节点上&#xff0c;函数执行时&#xff0c;使用…

074基于web+springboot的智能物流管理系统

欢迎大家关注&#xff0c;一起好好学习&#xff0c;天天向上 文章目录 一项目简介技术介绍 二、功能组成三、效果图四、 文章目录 一项目简介 本智能物流管理系统有管理员&#xff0c;顾客&#xff0c;员工&#xff0c;店主。功能有个人中心&#xff0c;顾客管理&#xff0c;员…

零基础Linux_25(多线程)信号量+基于环形队列的生产消费模型+自选锁+读写锁

目录 1. 信号量 1.1 信号量和信号量操作的概念 1.2 信号量的基本使用接口 2. 基于环形队列的生产者消费者模型 2.1 环形队列再分析 2.2 代码分步实现 sem.hpp ringQueue.hpp testMain.cc 2.3 代码解析和再理解 3. 自旋锁和读写锁 3.1 自旋锁的概念和接口 3.2 读写…

腾讯云3年轻量应用服务器涨价了?阿里云降价腾讯云涨?

2023双11云服务器优惠活动上线&#xff0c;腾讯云3年轻量应用服务器价格非常优惠&#xff0c;阿里云双11活动上是后上的&#xff0c;阿里云推出一款新老用户均可以购买的云服务器ECS经济型e实例&#xff0c;2核2G3M固定带宽&#xff0c;一年只要99元&#xff0c;第二年续费依旧…

0基础学编程从哪里入手?零基础学些代码怎么入手

0基础学编程从哪里入手&#xff1f;零基础学些代码怎么入手&#xff1f; 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;向如图…