RewriteCond指令格式
语法: RewriteCond TestString CondPattern
1) TestString是一个纯文本的字符串 , 但是可以包含可扩展的成分
2) CondPattern是条件pattern, 即一个应用于当前实例TestString的正则表达式, 即TestString将会被计算然后与CondPattern匹配.
3) 另外,还可以为CondPattern追加特殊的标记[flags] 作为RewriteCond指令的第三个参数 。Flags是一个以逗号分隔的以下标记的列表:
"nocase|NC" 它使测试忽略大小写, 即TestString和CondPattern无大小写检查
"ornext|OR" 它以OR方式组合若干规则的条件 , 而不是隐含的AND 。
RewriteRule 指令
语法: RewriteRule Pattern Substitution
1) Pattern是一个作用于当前URL的兼容perl的正则表达式. 这里的“当前""是指该规则生效时的URL的值 。
2) Substitution是 , 当原始URL与Pattern相匹配时 , 用以替代(或替换)的字符串 。
3) 此外 , Substitution还可以追加特殊标记[flags] 作为RewriteRule指令的第三个参数 。Flags是一个包含以逗号分隔的下列标记的列表:
"redirect|R [=code]" (强制重定向 redirect)
以http: //thishost[:thisport]/(使新的URL成为一个URI) 为前缀的Substitution可以强制性执行一个外部重定向 。如果code没有指定 , 则产生一个HTTP响应代码302(临时性移动) 。如果需要使用在300-400范围内的其他响应代码 , 只需在此指定这个数值即可 , 另外 , 还可以使用下列符号名称之一: temp (默认的), permanent, seeother. 用它可以把规范化的URL反馈给客户端 , 如, 重写“/~""为 “/u/"" , 或对/u/user加上斜杠 , 等等 。
注意: 在使用这个标记时 , 必须确保该替换字段是一个有效的URL! 否则 , 它会指向一个无效的位置! 并且要记住 , 此标记本身只是对URL加上 http://thishost[:thisport]/的前缀 , 重写操作仍然会继续 。通常 , 你会希望停止重写操作而立即重定向 , 则还需要使用"L"标记.
"forbidden|F" (强制URL为被禁止的 forbidden)
强制当前URL为被禁止的 , 即 , 立即反馈一个HTTP响应代码403(被禁止的) 。使用这个标记 , 可以链接若干RewriteConds以有条件地阻塞某些URL 。
"gone|G" (强制URL为已废弃的 gone)
强制当前URL为已废弃的 , 即 , 立即反馈一个HTTP响应代码410(已废弃的) 。使用这个标记 , 可以标明页面已经被废弃而不存在了.
"proxy|P" (强制为代理 proxy)
此标记使替换成分被内部地强制为代理请求 , 并立即(即 , 重写规则处理立即中断)把处理移交给代理模块 。你必须确保此替换串是一个有效的(比如常见的以 http://hostname开头的)能够为Apache代理模块所处理的URI 。使用这个标记 , 可以把某些远程成分映射到本地服务器名称空间 , 从而增强了ProxyPass指令的功能 。
注意: 要使用这个功能 , 代理模块必须编译在Apache服务器中 。如果你不能确定 , 可以检查“httpd -l""的输出中是否有mod_proxy.c 。如果有 , 则mod_rewrite可以使用这个功能;如果没有 , 则必须启用mod_proxy并重新编译“httpd""程序 。
【一 URL重写中的RewriteCond和RewriteRule指令详解】"last|L" (最后一个规则 last)
立即停止重写操作 , 并不再应用其他重写规则 。它对应于Perl中的last命令或C语言中的break命令 。这个标记可以阻止当前已被重写的URL为其后继的规则所重写 。举例 , 使用它可以重写根路径的URL("/")为实际存在的URL, 比如, "/e/www/".
"next|N" (重新执行 next round)
重新执行重写操作(从第一个规则重新开始). 这时再次进行处理的URL已经不是原始的URL了 , 而是经最后一个重写规则处理的URL 。它对应于Perl中的next命令或C语言中的continue命令 。此标记可以重新开始重写操作 , 即, 立即回到循环的头部 。
推荐阅读
- 苹果手机怎么用两个微信一个手机
- 如何画出像麻豆一样的高级眉
- 2020入伏是哪一天 入伏从哪天算起2020
- 电话卡欠费会怎么样 电话卡一直欠费会怎样
- 淘特和拼多多一样吗 拼多多跟淘特
- cad一键闭合
- 介绍一些玉米须的服用方法
- 一 Linux之战 Linux终结微软霸权
- 张海客为什么和吴邪长得一样
- PPT如何将多页打印在一张纸上
