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正则规则学习笔记整理的更多相关文章
- htaccess 正则规则整理(转)
为了方便 htaccess 编写正则,这里整理了一下 htaccess 的正则规则. # —— 位于行首时表示注释. [F] —— Forbidden(禁止): 命令服务器返回 403 Forbidd ...
- 【mysql学习笔记整理】
/*mysql学习笔记整理*/ /*常用的数据库操作对象*/ #库的操作#创建#数据库的创建USE mysql;CREATE DATABASE db_x;#删除#删除数据库DROP DATABASE ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- python 正则使用笔记
python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- 学习ReactNative笔记整理一___JavaScript基础
学习ReactNative笔记整理一___JavaScript基础 ★★★笔记时间- 2017-1-9 ★★★ 前言: 现在跨平台是一个趋势,这样可以减少开发和维护的成本.第一次看是看的ReactNa ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- javascript ES6模块化
一.将模块导出去 /* *将模块导出去 *a.js文件 */ const a=12; export default a; /* *将模块导出去 *b.js文件 */ const a=5; export ...
- C#字符串中特殊字符的转义
再基础的东西不常用的话就得记下来...不然就忘记了. 比如C#中对字符串中特殊字符的转义,一个是双引号",另一个就是转义符\ 对于同样一个字符串:地址:"C:\Users\E.tx ...
- php教程之php空白页的原因及解决方法
php中出现空白页的原因及解决方法汇总. 很多程序员在进行php开发的时候都遇到过出现空白页的请,综合分析来说,在php编程中出现空白页面可能是由以下几个原因造成的: 1.逻辑错误逻辑错误是最难排除的 ...
- linux io architecture
http://www.cs.columbia.edu/~krj/os/lectures/L24-IO.pdf http://events.linuxfoundation.org/sites/event ...
- Mysql修改时间的年月日,时分秒保持不变语句
比如时间为 “2015-01-05 14:32:21” 修改为“2015-01-06 14:32:21” 修改内容为修改yyyy-mm-dd为对应的日期,时间不变. HOUR,TIME(StatusU ...
- angular学习笔记(十四)-$watch(3)
同样的例子,还可以这样写: <!DOCTYPE html> <html ng-app> <head> <title>11.3$watch监控数据变化&l ...
- Filter method example
The Scala List class filter method implicitly loops over the List/Seq you supply, tests each element ...
- 八、Java的可变参数例子
1.在Java中什么是可变参数 可变参数是在Java1.5中引入的特性.它准许一个方法 public static void main(String[] args) { print("a&q ...
- Zabbix添加自定义监控项(一)
前言:由于Zabbix提供的项目和模板有限,有时我们需要自定义监控项,下面以监控磁盘I/O使用率为例,创建自动发现规则,并配置图形. (1)Zabbix_agentd端自动发现脚本,zabbix要求返 ...
- 【C++程序员学 python】python 之helloworld
我学习C语言之后才学的C++,所以这里写一个简单的helloworld程序. #coding:utf-8 def main(): print "hello world" if __ ...