nginx 匹配规则小总结
nginx location
等号类型(=)的优先级最高,需要精确匹配。一旦匹配成功,则不再查找其他匹配项。
^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
(location =) > (location 完整路径) > (location ^~ 路径) > (location ,* 正则顺序) > (location 部分起始路径) > (/)
nginx 配置 proxy_pass 路径带 / 的问题
用户访问的 url 为 http://klvchen.com/abc/test.html
eg:
#情况1: proxy_pass 后带 /
location /abc/ {
proxy_pass http://klvchen.com/;
}
#会被代理成 http://klvchen.com/test.html
#情况2: proxy_pass 后不带 /
location /abc/ {
proxy_pass http://klvchen.com;
}
#会被代理成 http://klvchen.com/abc/test.html
常用正则
.: 匹配除换行符以外的任意字符
?: 重复0次或1次
+: 重复1次或更多次
*: 重复0次或更多次
\d:匹配数字
^: 匹配字符串的开始
$: 匹配字符串的结束
{n}: 重复n次
{n,}: 重复n次或更多次
[c]: 匹配单个字符c
[a-z]: 匹配a-z小写字母的任意一个
小括号()之间匹配的内容,可以在后面通过$1来引用,$2表示的是前面第二个()里的内容。正则里面容易让人困惑的是\转义特殊字符。
nginx 匹配规则小总结的更多相关文章
- nginx匹配规则说明以及匹配的优先级
location 匹配规则语法规则 location [=|~|~*|^~] /uri/ { … } 模式 含义location = /uri = 表示精确匹配,只有完全匹配上才能生效lo ...
- nginx匹配规则
rewrite ^/(.*)$ /index.php/$1 last; 这句话的意思,是把slash(/)之后的所有内容在前面加上一个/index.php,这里的$1指代前面括号的正则表达式(.*)所 ...
- nginx-location正则表达式匹配规则及动静分离
nginx-location正则表达式匹配规则及动静分离 发表于 2018年03月5日 | 分类于 nginx| 0 nginx,location常用正则表达式,及nginx动静分离 nginx ...
- Nginx之location 匹配规则详解
有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...
- Nginx localtion匹配规则
mark:2016年05月25日13:20:54 (存手打,拒绝转载) 一.location分为 普通location 和 正则location 只有带有 "~" 或者" ...
- nginx location模块--匹配规则
Location语法语法:location [=|~|~*|^~] /uri/ { … } = --> 开头表示精确匹配 ^~ --> 开头表示uri以某个常规字符串开头,理解为匹配url ...
- Nginx location 匹配规则详解
语法规则 location [=|~|~*|^~] /uri/ { … } 模式 含义 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ^~ /uri ^~ ...
- nginx之location的匹配规则
nginx之location的匹配规则 一.语法规则 location [=|~|~*|^~] /uri/ { - } 符号 含义 = 开头表示精确匹配 ^~ 开头表示 uri 以某个常规字符串开头 ...
- 前端开发掌握nginx常用功能之server&location匹配规则
nginx主要是公司运维同学必须掌握的知识,涉及到反向代理.负载均衡等服务器配置.前端开发尤其是纯前端开发来说对nginx接触的并不多,但是在一些情况下,nginx还是需要前端自己来搞:例如我们公司的 ...
随机推荐
- 5.html基础标签:块级+行级元素+特殊字符+嵌套规则
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JavaScript中的constructor和继承
概述 这是我在看JavaScript面向对象编程指南的时候,对constructor和继承的总结. 关于它们的详细知识,可以上网查到,所以我只写那些网上没有的. 内容 constructor的理解 c ...
- Linux 后台运行命令:nohup 和 &
[参开文章]:nohup 与 & 的区别 1. nohup 1.1 基本概念 将程序以忽略挂起信号的方式运行起来: 不可以免疫 Ctrl + C 的 SIGINT 中断信号: 可以免疫 SI ...
- vue 所有的指令
1. v-text v-text主要用来更新textContent,可以等同于JS的text属性. <span v-text="msg"></span> 这 ...
- 机器学习与Tensorflow(5)——循环神经网络、长短时记忆网络
1.循环神经网络的标准模型 前馈神经网络能够用来建立数据之间的映射关系,但是不能用来分析过去信号的时间依赖关系,而且要求输入样本的长度固定 循环神经网络是一种在前馈神经网络中增加了分亏链接的神经网络, ...
- apache和tomcat的区别和联系
两者既有联系又有区别,是两个软件,可独立使用,也可整合使用.Apache是web服务器(静态解析,如HTML),本身只支持html,Web服务器专门处理HTTP请求(request),可以通过插件支持 ...
- Spring Bean 的生命周期,如何被管理的?
定义 Bean是一个被实例化,组装,并通过Spring IOC容器(BeanFactory和ApplicationContext容器)所管理的对象. 作用域 Spring支持五个作用域,分别是sing ...
- PHP扩展开发教程(总结)
PHP是一种解释型的语言,对于用户而言,我们精心的控制内存意味着easier prototyping和更少的崩溃!当我们深入到内核之后,所有的安全防线都已经被越过,最终还是要依赖于真正有责任心的软件工 ...
- F#周报2019年第17期
新闻 .NET版本的Apache Spark Apache Spark预览版介绍 F# Apache Spark示例 微软Build 2019大会(5月6日至8日) Rider用于F#的解决方案内的重 ...
- .net core Jenkins持续集成Linux、Docker、K8S
jenkins插件 系统管理 -> 管理插件,安装如下插件. #如果搜索不到去掉Plugin在搜索 GitLab Plugin Gitlab Hook Plugin #使用Gitlab账号做用户 ...