.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. HDU-3974 Assign the task题解报告【dfs序+线段树】

    There is a company that has N employees(numbered from 1 to N),every employee in the company has a im ...

  2. git push要输入密码问题

    git push突然每次都要输入密码了,这个问题困扰了两天,要无密码push,要保证两点. 1.  git clone的url一定得是git开头的,不能是https开头的,这个容易被忽略,github ...

  3. excel换行

    在excel的单元格中换行 1. windows alt + enter 2. mac command + alt + enter

  4. [JOI 2015 Final] 分蛋糕 2

    link 试题分析 容易发现性质,选择的是一段区间,但是贪心无法去维护这件事情,所以考虑$dp$,且我们只要去设计关于$JOI$的选择. 设$dp(i,j)$为现在要在$[l,r]$区间内选择,然后就 ...

  5. 【bzoj3173】最长上升子序列

    Portal --> bzoj3173 Solution 感觉自己需要智力康复qwq 首先题目给的这个序列肯定是一个\(1-n\)的排列,并且插入的顺序是从小到大 仔细思考一下会发现如果知道了最 ...

  6. python基础----__slots__方法、__call__方法

    ''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的_ ...

  7. 三年java面试题

    前言: 楼主毕业三年,从大学时期就开始一直从事java web方面的开发.我在去年的今天有一篇帖子:两年java面试经验.经历了一年的上班,成长了很多.今年因为某些原因辞职了.从2月底辞职,到3月初, ...

  8. 再谈System.arraycopy和Arrays.copyOf

    之前转载过一篇博文,介绍过这两个方法,今天想要再次详细的了解一下. public static native void arraycopy(Object src, int srcPos, Object ...

  9. linux 文件IO

    1.文件描述符 (1)文件描述符的本质是一个数字,这个数字本质上是进程表中文件描述符表的一个表项,进程通过文件描述符作为index去索引查表得到文件表指针,再间接访问得到这个文件对应的文件表.(2)文 ...

  10. OpenCV---图像直方图

    一:直方图的直接使用 from matplotlib import pyplot as plt def plot_demo(image): print(image.ravel()) plt.hist( ...