为了方便 htaccess 编写正则,这里整理了一下 htaccess 的正则规则。

  • # —— 位于行首时表示注释。
  • [F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器
  • [L] —— Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL
  • [N] —— Next(下一条规则): 告诉服务器继续重写,指导所有重写指令都执行过
  • [G] —— Gone(丢失): 命令服务器返回410 GONE(no longer exists)错误消息
  • [P] —— Proxy(代理): 告诉服务器通过mod_proxy模块处理用户请求
  • [C] —— Chain(捆绑): 告诉服务器将当前的规则和前面的规则进行捆绑
  • [R] —— Redirect(重定向): 命令服务器发出重定向消息,以便用户浏览器发出rewritten/modified(重写/修改)URL的请求
  • [NC] —— No Case(不区分大小写): 对客户端请求的URL不区分大小写
  • [PT] —— Pass Through(放行): 让mod_rewrite模块将重写的URL传回给Apache做进一步处理
  • [OR] —— Or(逻辑或): 用逻辑“或”将两个表达式连接在一起,如果结果为“真”,则会应用后继的相关规则
  • [NE] —— No Escape(禁用转义): 命令服务器在输出时禁用转义字符
  • [NS] —— No Subrequest(禁用子请求): 如果存在内部子请求,则跳过当前命令
  • [QSA] —— Append Query String(追加查询字符串): 命令服务器在URL末尾追加查询字符串
  • [S=x] —— Skip(跳过): 如果满足某指定的条件,则跳过后面第x调规则
  • [E=variable:value] —— Environmental Variable(环境变量): 命令服务器将值value赋给变量variable
  • [T=MIME-type] —— Mime Type(MIME类型): 声明目标资源所属的MIME类型
  • [] —— 匹配一个字符集合,例如[xyz]可以匹配x, y或者z
  • []+ —— 例如[xyz]+会以任何顺序、次数匹配x,y,z的出现
  • [^] —— 字符^表示字符集的补集。[^xyz]将匹配没有x,y或者z的字符串
  • [a-z] —— 连字符(-)表示匹配从字母a到字母z的所有字符串
  • a{n} —— 指定字母a出现的次数为n次,满足该条件时匹配。例如x{3}仅与xxx匹配
  • a{n,} —— 指定字母a出现的次数至少为n次,例如x{3,}可以与xxx或者xxxx等匹配
  • a{n,m} —— 指定a出现的次数至少为n到m次。
  • () —— 用于将正则表达式分组,满足第一组正则表达式的字符串会被存储在变量$1中,以此类推。如果括号中的不是正则表达式,例如(perishable)?press 将能够匹配有或者没有perishable前缀的press
  • ^ —— 位于行首。注意:和中括号中的[^]意义不同。
  • $ —— 位于行末
  • ? —— 例如 monzas? 会匹配 monza 或者 monzas,而 mon(za)? 会匹配 mon 或者 monza。又如 x? 会匹配“空字符” 或者 一个x
  • ! —— 逻辑非。例如“!string” 将会匹配除了“string”以外的所有字符串
  • . —— 表示任意字符串
  • - —— 命令Apache“不要”重写URL,例如“xxx.domain.com.* – [F]”
  • + —— 匹配至少一个任意字符,例如G+匹配以G开头、并且后面至少有一个字符的字符串
  • * —— 匹配零个或多个字符,例如“.*”匹配任意字符串
  • | —— 逻辑“或”,与[OR]不同的是,它只匹配字符串,例如(x|y)匹配x或者y
  • \ —— 转义字符。可以转义左括号( 尖字符^ 美元符号$ 感叹号! 点. 星号* 管道符号| 右括号) 等
  • \. —— 转义为点字符(点字符在正则表达式中可以匹配任意字符)
  • /* —— 零个或多个正斜杠
  • .* —— 零个或多个任意字符(即,匹配任意字符串,包括空字符)
  • ^$ —— 匹配“空字符”、“空行”
  • ^.*$ —— 匹配任意字符串(仅限一行)
  • [^/.] —— 匹配既非“正斜杠”也不是“点”的任意字符
  • [^/.]+ —— 匹配第一个字符既非“正斜杠”也不是“点”,后继字符可以是“正斜杠”或者“点”的字符串
  • http:// —— 匹配“http://”
  • ^domain.* —— 匹配以“domain”开始的字符串
  • ^domain\.com$ —— 仅匹配“domain.com”
  • -d —— 测试字符串是否是已存在的目录
  • -f —— 测试字符串是否是已存在的文件
  • -s —— 测试字符串所指文件是否有“非零”值

htaccess 正则规则整理(转)的更多相关文章

  1. Sonar 常用代码规则整理(二)

    摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ============ ...

  2. Sonar 常用代码规则整理(一)

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分 ...

  3. 单元测试系列之十:Sonar 常用代码规则整理(二)

    摘要:帮助公司部署了一套sonar平台,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分析,避免再次出现类似问题. 作者原创技术文章,转载请注明出处 ======== ...

  4. 单元测试系列之九:Sonar 常用代码规则整理(一)

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 摘要:公司部署了一套sonar,经过一段时间运行,发现有一些问题出现频率很高,因此有必要将这些问题进行整理总结和分 ...

  5. apache上.htaccess转向nginx上配置.htaccess伪静态规则

    nginx上配置.htaccess伪静态规则 在apache上.htaccess转向,只要apache编译的时候指明支持rewrite模块即可. 但是换到nginx上方法会有不同,有人说把.htacc ...

  6. makefile规则整理

    makefile规则整理 实际开发中,makefile改的多,写的少. 为了后面不要在编译链接这种地方花费太多的时间,在这里系统性的整理其规则: 基本格式 TARGET : PREREQUISITES ...

  7. htaccess正则规则学习笔记整理

    # —— 位于行首时表示注释. [F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器 [L] —— Last rule(最后一条规则): 告诉服务器在 ...

  8. [资料]Nginx做IP访问限制以及正则规则

    nginx配置location总结及rewrite规则写法 Nginx Location配置总结 Nginx 禁止某个IP访问 server { listen 443; root /webroot/; ...

  9. 基于php常用正则表达整理(下)

    61        \n 匹配一个换行符.等价于 \x0a 和 \cJ.62        \r 匹配一个回车符.等价于 \x0d 和 \cM.63        \s 匹配任何空白字符,包括空格.制 ...

随机推荐

  1. 基于jQuery 的图片瀑布流实现

    解题思路: 第1步  分析问题:我这边的处理方式是以列为单位.每次滚动条滚到底部,把需要加的新的内容放在高度最小的列.如下图所示 加载后的显示 如果在继续往下滚动.新图片就会在1下边显示,如此类推. ...

  2. 【C#枚举】根据EnumName获取Value

    public static int GetEnumValue(Type enumType, string enumName) { try { if (!enumType.IsEnum) throw n ...

  3. 微信小程序,大多数人误解的8个问题

    作者:王安,数字天堂DCloud公司创始人兼CEO 注:本文内容包含技术.商业,不懂技术的读者可以只看商业相关的内容.本文仅代表作者一家之言,如有不同意见,欢迎留言讨论~ 8个误解 坊间所传的信息很多 ...

  4. html embed用法

    (一).基本语法: embed src=url  说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,      Netscape及新版的IE 都支持.u ...

  5. Oracle数据库基础知识_字符串操作相关2

    6.LPAD,RPAD 作用:左/右边的字符串填充一些特定的字符语法: LPAD(string , n, [pad_String])          string:可是字符或者参数          ...

  6. GC的前世与今生

    GC的前世与今生 虽然本文是以.net作为目标来讲述GC,但是GC的概念并非才诞生不久.早在1958年,由鼎鼎大名的图林奖得主John McCarthy所实现的Lisp语言就已经提供了GC的功能,这是 ...

  7. [待续]Async in C# 1

    异步.异步是在.net .45里面提供的一个新的方法 它主要用在.三个方面 1.网络访问 2.磁盘访问 3.延迟很长时间的步骤 它主要有2个关键字 Async  Await Async  怎么工作 d ...

  8. 谈谈react-router学习

    源网页 http://qiutc.me/post/%E8%B0%88%E8%B0%88-react-router.html React + webpack 爽的飞起,少了点什么. 多页面,每次请求页面 ...

  9. IllegalArgumentException: Does not contain a valid host:port authority: master:8031

    java.lang.IllegalArgumentException: Does not contain a valid host:port authority: master:8031 (confi ...

  10. 微控制器(MCU)架构介绍

    微控制器(MicroController)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM.RAM.CPU.I/O集合在同一个芯片中, ...