Nginx的Rewrite正则表达式,匹配非某单词

由于要rewrite一个地址从
/mag/xx/xxx/ -> /m/xxx
但原先 /mag/xx/more/ 要保留
这就得写一个比较奇特的正则了,尝试了比较多的写法也没成功 最先想的是: location ~* ^/mag/[^/]+/[^(more)]+/ {
rewrite ^/mag/[^/]+/(.*) /m/$ permanent;
} []的写法并不凑效,里面是匹配单个字符的,这样无效,匹配不了 还是小范同学不错,研究的深入,提供了非某单词的写法 (?!more) location ~* ^/mag/[^/]+/(?!more)([^/]+)/ {
rewrite ^/mag/[^/]+/(.*) /m/$ permanent;
} 这个写法勉强可以应付了,后面的匹配单元虽说还不完美,但也能够对付我的所有需求内容了。
有需要的可以参考此写法。 常用分组语法 捕获
(exp) 匹配exp,并捕获文本到自动命名的组里
(?exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?’name’exp)
(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号 零宽断言
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(? …
 

Nginx的Rewrite正则表达式,匹配非某单词的更多相关文章

  1. nginx 重写 rewrite 基础及实例

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  2. nginx 重写 rewrite 基础及实例(转)

    nginx rewrite 正则表达式匹配 大小写匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 -f和!-f用来判断是否 ...

  3. Nginx实现rewrite重写

    目录 Rewrite基本概述 Rewrite标记Flag Rewrite规则实践 Rewrite场景示例 Rewrite规则补充 rewrite优先级实战 Rewrite基本概述 什么是rewrite ...

  4. 正则表达式 整理(\w \s \d 点 贪婪匹配 非贪婪匹配 * + ? {} | [] ^ $ \b 单词边界 分组、re.findall()、re.split()、re.search()、re.match()、re.compile()、re.sub())

    re.findall  匹配到正则表达式的字符,匹配到的每个字符存入一个列表,返回一个匹配到的所有字符列表 一. 匹配单个字符 import re # \w 匹配所有字母.数字.下划线 re.find ...

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

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

  6. Nginx Rewrite 实现匹配泛域名规则

    Nginx 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru ...

  7. 正则表达式,匹配非本站图片网址去掉img标签内容实例

    正则表达式,匹配非本站图片网址去掉img标签内容实例 在线正则表达式测试http://tool.oschina.net/regex/# 测试内容: <div><p>eee< ...

  8. Nginx正则及 Location匹配!

    1:Nginx location 规则匹配 ^~          标识符匹配后面跟一个字符串.匹配字符串后将停止对后续的正则表达式进行匹配. 如:location ^~ /images/,  在匹配 ...

  9. Nginx中rewrite实现二级域名、三级域名、泛域名、路径的重写

    最常见的: 静态地址重定向到带参数的动态地址 rewrite "^(.*)/service/(.*)\.html$" $1/service.php?sid=$2 permanent ...

随机推荐

  1. JAVA常见算法题(三十一)---冒泡排序

    package com.jege.spring.boot.hello.world; /** * java算法之冒泡排序<br> * 将数组按照从大到小的顺序排列<br> * * ...

  2. Spring+Mybatis+SpringMVC后台与前台分页展示实例(附工程)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文实现了一个后台由Spring+Mybatis+SpringMVC组成,分页采用Pag ...

  3. go语言基础之不同作用域同名变量

    1.不同作用域同名变量 示例: package main import "fmt" var a byte //全局变量 func main() { var a int //局部变量 ...

  4. linux 网络设备驱动

    linux 网络驱动 谨以此文纪念过往的岁月 一.前言在linux中网络驱动也是一个大头,如何去理解网络驱动是作为一个linux驱动工程师必备的技能.不过同样的设备,在不同人的手中会有不同的效果,其原 ...

  5. TypeEvaluator 估值器 抛物线

    TypeEvaluator简介 Android提供了以下几个简单的Evalutor实现类: IntEvaluator:属性的值类型为int FloatEvaluator:属性的值类型为float Ar ...

  6. (剑指Offer)面试题55:字符流中第一个不重复的字符

    题目: 请实现一个函数用来找出字符流中第一个只出现一次的字符.例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g".当从该字符流中读出前 ...

  7. (LeetCode 72)Edit Distance

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  8. Oracle spatial 空间修正函数(SDO_UTIL.RECTIFY_GEOMETRY)

    Oracle spatial有个空间修正函数SDO_UTIL.RECTIFY_GEOMETRY,它可以修复以下可能:a.重复节点 b.自相交 c.坐标串朝向不正确. 该函数的构造函数格式: SDO_U ...

  9. 使用ionic中的侧边栏以及angularjs中广播的使用

    接着之前的ionic的例子 查看例子:我的第一段ionic代码 demo3.html(黄底内容为增加或修改的内容) <!DOCTYPE html> <html ng-app=&quo ...

  10. UNIX网络编程读书笔记:图解TCP端口号和并发服务器

               图1 TCP服务器在端口21上执行被动打开                                                          图2 客户对服务器的 ...