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
- 测试字符串所指文件是否有“非零”值
-
本文出自 Lesca技术宅,转载时请注明出处及相应链接。
htaccess附录:正则表达式、重定向代码的更多相关文章
- .htaccess的301重定向代码
把不带www的域名301到带www的域名 RewriteEngine On RewriteCond %{http_host} ^example.com$ [NC] RewriteRule ^(.*)$ ...
- asp.net 301重定向代码
/// <summary> ///重定向代码 /// </summary> /// <param name="sender"></para ...
- .htaccess文件 301重定向URL重写[NC][R][F][L]是什么意思
.htaccess中的[NC][R][F][L]几个标记是什么意思 NC: no case,就是说不区分大小写 R:redirect,重定向 F:forbidden,禁止访问 L:last,表示已经是 ...
- apache实现301永久性重定向代码
301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬 ...
- SEO中常用的301永久重定向代码大全
301是永久重定向的意思,表示请求的网页已永久移动到新位置,服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置.其实301重定向在SEO中被广泛应用,也是被广泛认为比 ...
- 一段功能齐全的PHP常用重定向代码html+js+header
/** * 重定向浏览器到指定的 URL * * @param string $url 要重定向的 url * @param int $delay 等待多少秒以后跳转 * @param bool $j ...
- 【Python】正则表达式纯代码极简教程
<Python3正则表达式>文字版详细教程链接:https://www.cnblogs.com/leejack/p/9189796.html ''' 内容:Python3正则表达式 日期: ...
- 正则表达式(代码java版)
目录 元字符 检测工具 普通字符 字符类 预定义字符类 数量词 默认数量词 自定义量词 预定义量词 边界标识符 正则组 简单应用 复杂组序 捕获组 看了好些天的正则表达式,终于有时间来写一篇关于它的博 ...
- ecshop利用.htaccess实现301重定向的方法
实现方法如下(空间必须支持对目录中的.htaccess文件解析) 打开 .htaccess 找到 RewriteEngine on 它的下方添加 RewriteCond %{HTTP_HOST} ^需 ...
随机推荐
- 【BZOJ1562】【NOI2009】变换序列(二分图匹配)
[BZOJ1562][NOI2009]变换序列 题面 BZOJ 洛谷 这题面写的是真的丑,还是先手动翻译成人话. 让你构造一个\(0..N-1\)的排列\(T\) 使得\(Dis(i,T_i)\)为给 ...
- 【BZOJ4152】The Captain(最短路)
[BZOJ4152]The Captain(最短路) 题面 BZOJ Description 给定平面上的n个点,定义(x1,y1)到(x2,y2)的费用为min(|x1-x2|,|y1-y2|),求 ...
- 洛谷P4559 [JSOI2018]列队 【70分二分 + 主席树】
题目链接 洛谷P4559 题解 只会做\(70\)分的\(O(nlog^2n)\) 如果本来就在区间内的人是不用动的,区间右边的人往区间最右的那些空位跑,区间左边的人往区间最左的那些空位跑 找到这些空 ...
- 使DIV相对窗口大小左右拖动始终水平居中
<!doctype html> <html> <head> <meta http-equiv="content-type" content ...
- bzoj3884: 上帝与集合的正确用法(数论)
感觉是今天洛谷月赛T3的弱化版,会写洛谷T3之后这题一眼就会写了... 还是欧拉扩展定理 于是就在指数上递归%phi(p)+phi(p)直到1,则后面的指数就都没用了,这时候返回,边回溯边快速幂.因为 ...
- 【loj6436】【pkusc2018】神仙的游戏
Portal --> pkuscD2T2(loj6436) Solution 个人觉得是道很好的法法塔题qwq 一开始的时候想偏了想到了另一种法法塔处理字符串匹配之类的奇怪技巧(万径人踪灭qwq ...
- Yii2 数据库基本操作
//1.简单查询 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll( ...
- git 列出两个 commit 之间变更的文件列表
git diff <commit1> <commit2> --stat 如: git diff 74ecf17dc 1ee25ed3c --stat src/assets 上面 ...
- VLFeat在matlab和vs中安装
转:http://blog.csdn.net/u011718701/article/details/51452011 博主最近用vlfeat库做课题,网上搜索使用方法,一大片都会告诉你说:run(/v ...
- AI技术说:人工智能相关概念与发展简史
作为近几年的一大热词,人工智能一直是科技圈不可忽视的一大风口.随着智能硬件的迭代,智能家居产品逐步走进千家万户,语音识别.图像识别等AI相关技术也经历了阶梯式发展.如何看待人工智能的本质?人工智能的飞 ...