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匹配!的更多相关文章

  1. Nginx 配置指令location 匹配符优先级和安全问题【转】

    Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";&q ...

  2. Nginx中的 location 匹配和 rewrite 重写跳转

    Nginx中的location匹配和rewrite重写跳转 1.常用的Nginx正则表达式 2.location 3.rewrite 4.rewrite实例 1.常用的Nginx正则表达式: ^ :匹 ...

  3. 转:Nginx配置指令location匹配符优先级和安全问题

    转:http://www.jb51.net/article/47761.htm 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾 ...

  4. nginx中的location匹配规则

    概述: 1. location在nginx配置文件中的作用是根据用户请求的URI来执行不同的应用. 2.URI的定义:标识.定位任何资源的字符串 协议://域名/目录a/目录b/文件c http:// ...

  5. Nginx配置指令location匹配符优先级和安全问题

    使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";"号,语句块用"{}"括起来. ...

  6. nginx配置中location匹配规则详解

    一.概述 nginx官方文档给出location语法如下: 1 location [=|~|~*|^~] uri { … } 其中,方括号中的四种标识符是可选项,用来改变请求字符串和uri的匹配方式. ...

  7. Nginx之Location匹配规则

    概述 经过多年发展,nginx凭借其优异的性能征服了互联网界,成为了各个互联网公司架构设计中不可获取的要素.Nginx是一门大学问,但是对于Web开发者来说,最重要的是需要能捋的清楚Nginx的请求路 ...

  8. Nginx location 匹配顺序整理

    Nginx location模块整理 具体的Nginx安装就不在这里描述了,这里只是为了对location的描述 Nginx环境 a. 查看当前系统cat /etc/redhat-release [r ...

  9. Nginx之location 匹配规则详解

    有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...

随机推荐

  1. Reinforcement Learning,微信公众号:DRL学习

    欢迎大家关注微信公众号:DRL学习,我们一起来学习强化学习和深度强化学习的算法及现状应用问题. 强化学习简单说就是学习如何最大化未来奖励的预期总和,以及agent学会在环境中做出的行动序列,其中随机状 ...

  2. MongoDB C#驱动使用方法

    string connStr = ConfigurationManager.ConnectionStrings["MongoDBConnStr"].ConnectionString ...

  3. Drf模块详细分析

    drf的请求模块 drf的request是在wdgi的request基础上再次封装 wsgi的request作为drf的request一个属性:_request 新的request对旧的request ...

  4. Crawlab-分布式爬虫管理系统

    一.简介 Crawlab 基于Celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架. Github: https://github.com/tikazyq/crawlab 参考资料 ...

  5. Go递归函数

    package main import "fmt" func main() { /* 递归函数(recursion):一个函数自己调用自己,就叫做递归函数. 递归函数要有一个出口, ...

  6. MySQL删除语句比较,清空表数据,重置自增长索引

    drop truncate delete 程度从强到弱 1.drop table tbdrop将表格直接删除,没有办法找回 2.truncate (table) tbtruncate 删除表中的所有数 ...

  7. Python学习之Craps赌博游戏篇

    在此先安利一波大佬的Python学习项目地址:https://github.com/jackfrued/Python-100-Days 这些天一直在看着大佬的项目学习Python,这是第五天循环学习完 ...

  8. Dart语言学习(四)Dart字符串

    一.字符串的创建 使用 单引号,双引号 创建字符串 使用 三个引号或双引号 创建多行字符串 使用 r 创建原始 raw 字符串 String str1 = 'Hello';//"" ...

  9. C# 重载与重写

    重载(overload) 指调用同一方法名,但各方法中参数的数据类型.个数或顺序不同. public static int Add(int x,int y) { return x + y; } pub ...

  10. websocket协议实现

    # websocket协议实现 1.抓包 wireshark规则: tcp.port == 9000 2. 结果解析 客户端请求: GET /ws/test_2 HTTP/1.1 Host: loca ...