Nginx:URL重写(示意图+举例+配置讲解)

news2024/11/25 8:36:24

示意图:

URL Rewrite

URL Rewrite 是一种用于修改网站 URL 结构或改变 URL 路径的技术。它允许网站管理员修改 URL 的外观,使其更加友好、可读,并且有助于改善网站的搜索引擎优化(SEO)。通过 URL Rewrite,网站管理员可以通过在 Web 服务器上配置规则来重写传入的 URL。

举例:

原始URL:https://www.example.com/product.php?id=123

重写后:https://www.example.com/products/123

Nginx的URl Rewrite

Nginx自然也有URI Rewrite功能,可以在配置中实现。

举例:发送请求http://www.example.com/api/1.html,重写并转发到/v1/index.jsp?pageNum=1

location /api {
    rewrite ^/api/([0-9]+).html$ /v1/index?pageNum=$1 break;
    proxy_pass http://backend_server;
}

讲解:

  • ^/api/([0-9]+).html$是一个正则表达式。匹配/api/开头、结尾为.html的请求,并使用([0-9]+)为捕获组,表示可以匹配任意数字任意次数,并提取为变量$1的值。
  • /v1/index?pageNum=$1是重写后的路径,$1是一个变量,它表示在正则表达式中第一个捕获的内容。
  • break是rewrite指令的标志之一,代表本条规则匹配完成即终止,不再匹配后面的任何规则。
配置属性

rewrite格式:

rewrite <正则表达式> <替换内容> [flag];

  • 正则表达式:使用正则表达式语句,匹配需要重写的 URL。
  • 替代内容:将正则匹配的内容替换成replacement,可以使用捕获组中的内容以及其他自定义的字符串。
  • flag(可选):标志,用于控制重写行为。
    • last:在执行完当前 rewrite 规则后,继续匹配其他的 location 指令。(即当前location块只进行重写操作,需要继续匹配location才能完整地处理请求。)
    • break:在执行完当前 rewrite 规则后,不再继续匹配其他的 location 指令。(即当前location块即可完整地处理请求。)
    • redirect:返回临时重定向,返回 302 Found 状态码。
    • permanent:返回永久重定向,返回 301 Moved Permanently 状态码。
    • if(不推荐使用):允许使用条件语句进行重写规则。

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

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

相关文章

iCloud涨价不用慌!学会使用群晖生态将本地SSD“上云”

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是想使用群晖生态软件&#xff0c;就必须要在服务端安装群晖系统&#xff0c;具体如何安装群晖虚拟机请参考&#xff1a; 1. 安装并配置synology drive1.1 安装群辉drive套件1.2 在局域…

【应用程序代理对象ApplicationDelegate-应用程序启动过程介绍 Objective-C语言】

一、那我们接着昨天的内容,继续往下讲 1.有人对昨天最后这块儿内容有点儿晕,再捋一下吧, 1)我们刚开始的时候,是不是在Main.storyboard里面,放了一个按钮 2)我呢,想在点击按钮的时候,执行一些操作,对吧, 所以呢,我给它拖了一个事件, 拖到类实现里面, 3)那,首…

.NET Core/.NET6 使用DbContext 连接数据库,SqlServer

安装以下NuGet包 Microsoft.EntityFrameworkCore.SqlServer&#xff1a;SQL server 需要添加包 Microsoft.EntityFrameworkCore.Tools Newtonsoft.Json&#xff1a;用于Json格式转换 创建一个实体类来表示数据库表。在项目中创建一个名为Customer.cs的文件&#xff0c;并添加以…

国内原汁原味的免费sd训练工具--哩布哩布AI

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号&#xff1a;网络豆云计算学堂 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a; 网络豆的主页​​​​​ 目录 写在前面 一.体验与操作 1.注册 2.为何可…

享搭低代码平台:加速企业应用开发,轻松搭建表单和报表

在当今快节奏的商业环境中&#xff0c;企业需要快速响应市场需求并提供高效的解决方案。然而&#xff0c;传统的应用开发过程繁琐、耗时&#xff0c;并且需要专业的编程技能。为了解决这些问题&#xff0c;享搭低代码平台应运而生。本文将详细介绍享搭低代码平台的特点和优势&a…

工信部新政策发布,算力基础设施建设即将提速!

前言&#xff1a;算力是集信息计算力、网络运载力、数据存储力于一体的新型生产力&#xff0c;主要通过算力基础设施向社会提供服务。算力基础设施对于实现数字化转型、培育未来产业&#xff0c;以及形成经济发展新动能等方面具有重要作用。 其中&#xff0c;提升算力的高效运载…

内网穿透的应用-轻松玩转群晖生态!使用内网穿透实现本地SSD数据云备份

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是想使用群晖生态软件&#xff0c;就必须要在服务端安装群晖系统&#xff0c;具体如何安装群晖虚拟机请参考&#xff1a; 1. 安装并配置synology drive1.1 安装群辉drive套件1.2 在局域…

Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv 计算机竞赛

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; Yolov安全帽佩戴检测 危险区域进入检测 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&am…

“地缘危机---通货紧缩风暴来袭,陷入深度困境!“

关于影响通胀动态的因素&#xff0c;我真正关注的是四个主要组成部分: 供应链 商品价格 工资 信用创造 “这些因素使我在2021年和2022年的通胀上升趋势以及2023年的下降趋势中保持正确的立场&#xff0c;因此我继续依赖它们作为未来通胀可能如何演变的指标。 ” …

js继承的几种方式(原型链继承、构造函数继承、组合式继承、寄生组合式继承、ES6的Class类继承)

1.原型链继承 实现原理&#xff1a;子类的原型指向父类实例。子类在自身实例上找不到属性和方法时去它父类实例&#xff08;父类实例和实例的原型对象&#xff09;上查找&#xff0c;从而实现对父类属性和方法的继承 缺点&#xff1a; 子类创建时不能传参&#xff08;即没有…

现货黄金滑点多少是正常的?

在大家熟悉的现货黄金交易软件MT4上&#xff0c;当订单被投放到市场之后&#xff0c;如果之前想要的价格已经不存在&#xff0c;订单就会以最接近其要求的价格执行&#xff0c;如果最终执行价比预期价格要高&#xff0c;则称为正向滑点&#xff0c;反之则为反向滑点。 从理论上…

【Docker】Docker网络及容器间通信详解

目录 背景 默认网络 1、bridge 网络模式 2、host 网络模式 3、none 网络模式 4、container 网络模式 自定义网络 容器间网络通信 IP通信 Docker DNS server Joined容器 前言 本实验通过docker DNS server和joined 容器两种方法实现Docker容器间的通信。Docker容器间…

12个VIM编辑器的高级玩法

vim 是一个很好用的编辑器&#xff0c;应用十分广泛。但关于 vim&#xff0c;总有一些你不知道的事情&#xff0c;我们需要持续不断的学习。 我经常使用 vim&#xff0c;也经常在各大社区、论坛看到 vim 专家用户分享经验&#xff0c;今天我们就总结其中常用的一部分&#xff…

语音识别whisper的介绍、安装、错误记录

介绍 Whisper是OpenAI于2022年9月份开源的通用的语音识别模型。它是在各种音频的大型数据集上训练的模型&#xff0c;也是一个可以执行多语言语音识别、语音翻译和语言识别的多任务模型。 论文链接&#xff1a;https://arxiv.org/abs/2212.04356 github链接&#xff1a;https:…

4d动感影院座椅5d动感影院体验馆大型7D互动影院

今天来讲一下市场上现在受欢迎的5d7d影院&#xff0c;组成部分&#xff0c;落地方案 5D影院的系统组成部分&#xff1a;1、动感座椅、2、投影幕(银幕)和投影机、3、音箱、4、各种的动感特效、5、5d影院眼镜&#xff0c;很简单的组成硬件&#xff0c;就可以组成一套的5d影院设备…

Windows工业三防平板全功能NFC近距离感应一维/二维扫描

Windows系统工业三防平板电脑是一种在智慧工厂仓储物流、MES数采、车载设备、设备检测、自动化控制等领域广泛应用的先进设备。此外&#xff0c;它还在公共服务领域&#xff0c;如高速交通、物流运输、电力检测、公务执法、银行金融、船舶装备、户外勘测、建筑工程、汽车检测、…

细说晶振元件HC49U的功能、应用及性能特点 | 百能云芯

在电子领域&#xff0c;晶振&#xff08;Crystal Oscillator&#xff09;是一种重要的元件&#xff0c;用于产生稳定的时钟信号。HC49U是一种常见的晶振型号&#xff0c;具有广泛的应用范围。云芯将带您深入探讨HC49U晶振的功能、应用领域&#xff0c;以及其性能特点&#xff0…

【算法-回溯法】N皇后问题

一、问题背景 N皇后问题是由八皇后问题引申而来的。八皇后是一个以国际象棋为背景的问题&#xff0c;国际象棋8*8. 怎么去放置八个皇后&#xff0c;使得任何一个皇后都无法直接吃掉其他的皇后&#xff1f;为了达到此目的&#xff0c;任两个皇后都不能处于同一条横行、纵行或斜…

每日汇评:黄金的回调可能会在周五上涨3%之后延续

在连续两天的积极势头下&#xff0c;金价正挑战1880美元的关键水平&#xff1b; 美元跟随美债收益率走低&#xff0c;美联储持谨慎态度&#xff0c;情绪乐观&#xff1b; 黄金价格正处于关键时刻&#xff0c;等待美国通胀数据带来新的方向性走势&#xff1b; 金价正在回撤上周五…

C# OpenCvSharp 利用Lab空间把春天的场景改为秋天

效果 项目 代码 using OpenCvSharp; using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace OpenCvSharp_Demo {public partial class Form1 : Form{public Form1(){InitializeComponent();}st…