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

HTTP 协议重定向编码

  • 301 – Moved Permanently
  • 302 – Moved Temporarily
  • 403 – Forbidden
  • 404 – Not Found
  • 410 – Gone

相关教程

1 Star2 Stars3 Stars4 Stars5 Stars (无评分)
Loading...

分类:一般问题 | 标签:

QQ在线客服

QQ客服