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

常用Nginx正则匹配规则

Nginx 正则匹配语法速查表

1. Nginx location 匹配类型

写法说明示例匹配效果
location = /uri精确匹配location = /login只匹配 /login
location /uri前缀匹配(默认)location /img/匹配 /img/a.png/img/b.jpg
location ^~ /uri优先的前缀匹配(忽略正则)location ^~ /static//static/css/1.css 一定走这里
location ~ pattern正则匹配(区分大小写)location ~ \.php$匹配以 .php 结尾的 URL
location ~* pattern正则匹配(不区分大小写)`location ~* .(jpgpng

2. 正则表达式常用符号

符号含义示例匹配结果
.任意单个字符a.cabcaxc
*前一个字符重复 0 次或多次ab*aababbabbb...
+前一个字符重复 1 次或多次ab+ababbabbb...
?前一个字符重复 0 次或 1 次ab?aab
^匹配字符串开头^/api/api/user/test/api
$匹配字符串结尾\.php$/index.php/index.php?id=1
\转义字符\.git匹配 .git 而不是任意字符+git
``或条件`(jpg
[]字符集[0-9]匹配任意数字
{n}前一个字符重复 n 次a{3}aaa
{n,}前一个字符重复 ≥n 次a{2,}aaaaaaaaa...
{n,m}前一个字符重复 n~m 次a{2,4}aaaaaaaaa

3. 常见 Nginx 正则示例

# 匹配以 .php 结尾的请求
location ~ \.php$ {deny all;
}# 匹配 .jpg/.png/.gif (不区分大小写)
location ~* \.(jpg|png|gif)$ {root /var/www/images;
}# 禁止访问隐藏文件,如 .git、.svn
location ~ /\.(git|svn) {deny all;
}# 匹配 /api/ 开头的路径
location ^~ /api/ {proxy_pass http://127.0.0.1:8080;
}

4. 匹配优先级规则(从高到低)

  1. = 精确匹配
  2. ^~ 前缀匹配(优先级高于正则)
  3. ~~* 正则匹配(按配置顺序从上到下匹配)
  4. 普通前缀匹配(最长匹配原则)

总结:

  • location 有多种匹配方式(精确、前缀、正则、不区分大小写)
  • 正则表达式用来精确控制 URL 的匹配
  • 写规则时要注意 匹配优先级,否则可能和预期不一致
http://www.dtcms.com/a/351099.html

相关文章:

  • HTML的form表单
  • 状态模式与几个经典的C++例子
  • 《分布式任务调度中“任务重复执行”的隐性诱因与根治方案》
  • 记一次clickhouse查询优化之惰性物化
  • 手机移动代理IP:使用、配置、维护的10问10答
  • 通义灵码插件——AI 重构表单开发!半小时搭建可视化拖拽系统,效率碾压传统模式
  • 如何了解云手机的兼容性?
  • TikTok广告投放革命:指纹云手机如何实现智能群控与降本增效
  • 云手机和模拟器之间的区别
  • Windows下的异步IO通知模型
  • Tomcat下载历史版本
  • 深入浅出理解支持向量机(SVM):从原理到实践
  • 支持向量机(SVM)核心笔记
  • 人类记忆如何启发AI?LLM记忆机制综述解读
  • Vue中的props方式
  • SELinux存在于过去的Linux安全增强模块
  • 可解释的多尺度深度学习在胸腔积液细胞块与细胞学涂片恶性肿瘤检测及侵袭性子宫内膜癌识别中的应用|文献速递-深度学习人工智能医疗图像
  • 6年前抄写的某品牌集成灶-蒸汽炉
  • UCIE Specification详解(七)
  • Linux文件系统深入解析:从原理到实践
  • 校园跑腿小程序源码 | 跑腿便利店小程序(源码下载)
  • Nginx访问限制学习笔记
  • 智慧AI消防通道占用检测在危险区域的应用
  • 数据结构青铜到王者第五话---LinkedList与链表(2)
  • 懂支持向量机(SVM):从原理到实战拆解
  • 算法-每日一题(DAY15)用队列实现栈
  • SQLBot 智能问数、数据洞察逻辑拆解
  • 【GM3568JHF】FPGA+ARM异构开发板 应用编辑及源码下载
  • 零基础也能照做的WordPress网站安全漏洞修复 + 高级优化保姆级教程。
  • 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第七章知识点问答(22题)