Nginx正则及 Location匹配!
1:Nginx location 规则匹配
^~ 标识符匹配后面跟一个字符串。匹配字符串后将停止对后续的正则表达式进行匹配。
如:location ^~ /images/, 在匹配了/images、这个字符串后就停止对后续的匹配
= 精准匹配,如:location=/,只会匹配urrl为/的请求
~ 区分大小写的匹配
~* 不区分大小写的匹配
!~ 对区分大小写的匹配取非
!~* 对区分大小写的匹配取非
/ 通用匹配,如果没有其他匹配,任何匹配请求都会被匹配到
2:正则表达式
* 重复前面的字符0次或多次
? 重复前面的字符0次或1次
+ 重复前面的字符1次或多次
. 匹配除换行符以外的任意一个字符
(a | b) 匹配a或b
^ 以.....开头
$ 以.....结尾
{n} 重复前面的字符n次
{n,} 重复前面的字符n次或更多次
{n,m} 重复前面的字符n次到m次
*? 重复前面的字符0次或多次 ,但尽可能的少重复
+? 重复前面的字符1次或更多次 ,但尽可能的少重复
?? 重复前面的字符0次或1次 ,但尽可能的少重复
{n,m} ? 重复前面的字符n次或m次 ,但尽可能的少重复
{n,} ? 重复前面的字符n次以上 ,但尽可能的少重复
3:正则补充
\w 匹配任意不是字母,数字,下划线,汉子的字符
\s 匹配任意不是空白字符串的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[a] 匹配a-z小写字母的任意一个
[^a] 匹配除a以外的任意字符
4:Nginx location应用规则
location [=|~|~*|^~|!~|!~*] /url/{...}
默认值:no
使用字段:server
location参数根据URL的不同需求来进行位置配置。可以使用字符串与正则表达式匹配
location ~*.*\.jsp$ {
proxy_pass http://tomcat_server;
}
http://www.a.com/
5:匹配顺序优先级
6:实际使用建议
实例:
要求输入www.a.com/a.html 跳转到www.a.com/file/a.html
[root@localhost ~]# vim /etc/init.d/nginx
location /a.html {
rewrite (.*) http://www.a.com/file/a.html break;
}
测试:
实例:
要求输入www.a.com跳转到 www.b.com
server {
listen 80;
server_name www.a.com;
charset uft-8;
access_log logs/a.com.access.log main;
location / {
root html;
index index.html index.htm;
}
if ($host = 'www.a.com') {
rewrite ^(.*)$ http://www.b.com;
}
}
server {
listen 80;
server_name www.b.com;
charset uft-8;
access_log logs/b.com.access.log main;
location / {
root html;
index index.html index.htm;
}
测试:
Nginx正则及 Location匹配!的更多相关文章
- Nginx 配置指令location 匹配符优先级和安全问题【转】
Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";&q ...
- Nginx中的 location 匹配和 rewrite 重写跳转
Nginx中的location匹配和rewrite重写跳转 1.常用的Nginx正则表达式 2.location 3.rewrite 4.rewrite实例 1.常用的Nginx正则表达式: ^ :匹 ...
- 转:Nginx配置指令location匹配符优先级和安全问题
转:http://www.jb51.net/article/47761.htm 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾 ...
- nginx中的location匹配规则
概述: 1. location在nginx配置文件中的作用是根据用户请求的URI来执行不同的应用. 2.URI的定义:标识.定位任何资源的字符串 协议://域名/目录a/目录b/文件c http:// ...
- Nginx配置指令location匹配符优先级和安全问题
使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";"号,语句块用"{}"括起来. ...
- nginx配置中location匹配规则详解
一.概述 nginx官方文档给出location语法如下: 1 location [=|~|~*|^~] uri { … } 其中,方括号中的四种标识符是可选项,用来改变请求字符串和uri的匹配方式. ...
- Nginx之Location匹配规则
概述 经过多年发展,nginx凭借其优异的性能征服了互联网界,成为了各个互联网公司架构设计中不可获取的要素.Nginx是一门大学问,但是对于Web开发者来说,最重要的是需要能捋的清楚Nginx的请求路 ...
- Nginx location 匹配顺序整理
Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...
- Nginx之location 匹配规则详解
有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...
随机推荐
- DockerToolbox安装docker - Windows 10
Wiindows安装docker 在转换成linux模式的时候不能使用,只能退而求其次安装Docker ToolBox在windows10中使用docker. 一.前言 由于本机使用的是win10家庭 ...
- 闲来无事.gif
- frm、myd、myi、opt、par文件
.frm 表结构文件 .myd 表数据文件 .myi 表索引文件 .opr 储存数据库的默认字符集 .par 储存分区信息 mysql 5.6版本分区表有一个文件:表名.par, 该文件在5.7.6版 ...
- 微信小程序苹果手机调用camera原生组件拍照后不退出
最近做微信小程序时,用到小程序的原生组件camera时,踩到一个bug. 在给camera设置样式position:absolute;绝对定位后,IOS调用camera原生组件拍照后退不出来. 不使用 ...
- P1558 色板游戏 线段树(区间修改,区间查询)
题意: 给n,m,k,n长度,k个操作,m种颜色 操作C:输入A,B,C,区间[A,B]变成C颜色,可能A>B,所以要确保A<B 操作P:输入A,B,区间[A,B]的颜色种类 思路: 因为 ...
- 68 for循环2 for循环最简单的用法
#include <stdio.h> int main (void) { int i ; ; ; i<; i+=) //i+=2 等价于 i= i+2: { sum = sum + ...
- 用Eclipse+Maven+Jetty构建Java Web开发环境(详细笔记)
(软件环境) 『系统』Windows 10 x64 『JAVA』JDK 1.8.0_91 『Eclipse』 Eclipse-oxygen 『Maven』 apache-maven-3.6.3 『Je ...
- acm数论之旅(转载) -- 逆元
ACM数论之旅6---数论倒数,又称逆元(我整个人都倒了( ̄﹏ ̄)) 数论倒数,又称逆元(因为我说习惯逆元了,下面我都说逆元) 数论中的倒数是有特别的意义滴 你以为a的倒数在数论中还是1/a吗 ( ...
- keil(MDK)错误记录
1.a parameter list without types is only allowed in a function definition(没有类型的参数列表只允许在函数定义中使用) 2.Er ...
- PTA的Python练习题(十七)
第4章-19 矩阵运算 a=eval(input()) s=[] count=0 for i in range(a): b=input() s.append([int(i) for i in b.sp ...