.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
测试字符串所指文件是否有“非零”值

本文出自 Lesca技术宅,转载时请注明出处及相应链接。

本文永久链接: http://lesca.me/archives/htaccess-appendix.html

htaccess附录:正则表达式、重定向代码的更多相关文章

  1. .htaccess的301重定向代码

    把不带www的域名301到带www的域名 RewriteEngine On RewriteCond %{http_host} ^example.com$ [NC] RewriteRule ^(.*)$ ...

  2. asp.net 301重定向代码

    /// <summary> ///重定向代码 /// </summary> /// <param name="sender"></para ...

  3. .htaccess文件 301重定向URL重写[NC][R][F][L]是什么意思

    .htaccess中的[NC][R][F][L]几个标记是什么意思 NC: no case,就是说不区分大小写 R:redirect,重定向 F:forbidden,禁止访问 L:last,表示已经是 ...

  4. apache实现301永久性重定向代码

    301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬 ...

  5. SEO中常用的301永久重定向代码大全

    301是永久重定向的意思,表示请求的网页已永久移动到新位置,服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置.其实301重定向在SEO中被广泛应用,也是被广泛认为比 ...

  6. 一段功能齐全的PHP常用重定向代码html+js+header

    /** * 重定向浏览器到指定的 URL * * @param string $url 要重定向的 url * @param int $delay 等待多少秒以后跳转 * @param bool $j ...

  7. 【Python】正则表达式纯代码极简教程

    <Python3正则表达式>文字版详细教程链接:https://www.cnblogs.com/leejack/p/9189796.html ''' 内容:Python3正则表达式 日期: ...

  8. 正则表达式(代码java版)

    目录 元字符 检测工具 普通字符 字符类 预定义字符类 数量词 默认数量词 自定义量词 预定义量词 边界标识符 正则组 简单应用 复杂组序 捕获组 看了好些天的正则表达式,终于有时间来写一篇关于它的博 ...

  9. ecshop利用.htaccess实现301重定向的方法

    实现方法如下(空间必须支持对目录中的.htaccess文件解析) 打开 .htaccess 找到 RewriteEngine on 它的下方添加 RewriteCond %{HTTP_HOST} ^需 ...

随机推荐

  1. jQuery绑定事件

    1.事件绑定的方式 事件 DOM:三种绑定方式 jQuery: #前面几种内部调用的全是on $('.c1').click() $('.c1').blur() $('.c1').aaaaa() $(' ...

  2. java学习2-webserver测试工具soapUI使用

    file-->new soap project-->输入project Name(随便)输入 WSDL地址,其他默认,点ok展开左侧加载的项目下的方法名,双击Request ,右侧出现测试 ...

  3. Zookeeper(二) zookeeper集群搭建 与使用

    一.zookeeper集群搭建 鉴于 zookeeper 本身的特点,服务器集群的节点数推荐设置为奇数台.我这里我规划为三台, 为别为 hadoop01,hadoop02,hadoop03    1. ...

  4. jsp 文件无法加载 css、js 的问题

    今天遇到一个问题是,在 jsp 里面引入 css.js,请求的状态是 200,但 css.js 的内容却是空的. 这是因为 servlet 有个 url-pattern,将 css.js 的路径当做 ...

  5. select、poll和epoll多路I/O复用

    一.三者的区别 select  select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被 ...

  6. Python基础之文件处理、函数、内置函数 (三)

    内置函数 一 详细见python文档,请点击 文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开文件 文件句柄 = file('文件路径', '模式') 注:python中打开 ...

  7. 「Python-Django」Django中使用数据库的 9 个小技巧

    Django 中使用数据库的 9 个小技巧. 1. 过滤器聚合 在 Django 2.0 之前,如果你想得到“用户总数”.“活跃用户总数”等信息时,你不得不使用条件表达式. Django 2.0 中, ...

  8. 「Python」python与微信

    pip3 install itchat 主要用到的方法: itchat.login() 微信扫描二维码登录 itchat.get_friends() 返回完整的好友列表,每个好友为一个字典, 其中第一 ...

  9. 将new Date() 格式化为 ’2018-10-11‘ 的字符串格式

    function dateToString( date , format ){ if(!date) return ""; if (!Common.type.isDate(date) ...

  10. zkw费用流 学习笔记

    分析 记\(D_i\)为从\(S\)出发到\(i\)的最短路 最短路算法保证, 算法结束时 对于任意存在弧\((i,j)\)满足\(D_i + c_{ij}\ge D_j\) ① 且对于每个 \(j\ ...