RewriteCond 重写规则执行条件
语法: RewriteCond TestString CondPattern
生效域: server config, virtual host, directory, .htaccess
特别的上面的 TestString, 可提供反向引用. 引用模式为: %N 其中N为(0 <= N <=9), 引用当前若干RewriteCond条件中最后符合的条件中的分组成分, 也就是括号里的内容.不过用到的不多. 反向应用多在RewriteRule里常用.
RewriteCond 语法中的 TestStrng 为要被检查的内容, CondPattern 是进行匹配的规则, 它是一个兼容Perl风格的正则表达式和一些其他的特有字符属性. 这里介绍一下.
第一个: ! (感叹号) 表示否的意思. 比如一个条件: 判断访问此页面的上一页URL是否包含 sex 字符的话可以用这样: RewriteCond %{HTTP_REFERER} !(sex)

第二个: < 就是小于的意思, TestString < CondPattern.

第三个: > 就是大于于的意思, TestString < CondPattern.

第四个: = 相等的意思. <, >, = 三个和通常程序语言使用的 <, >, = 功能类似.

第五个: -d 是否是一个目录. 判断TestString是否不是一个目录可以这样: !-d

第六个: -f 是否是一个文件. 判断TestString是否不是一个文件可以这样: !-f

第七个: -s 是否是一个正常的有大小的文件. 判断TestString是否不是一个正常的有大小的文件可以这样: !-s

第八个: -l 是否是一个快捷方式文件. 判断TestString是否不是一个快捷方式文件可以这样: !-l

第九个: -x 是否是一个文件并且又执行权限. 判断TestString是否不是一个文件并且又执行权限可以这样: !-x

第十个: -F 检查TestString是否是一个合法的文件,而且通过服务器范围内的当前设置的访问控制进行访问。这个检查是通过一个内部subrequest完成的, 因此需要小心使用这个功能以降低服务器的性能。

第十一个: -U 检查TestString是否是一个合法的URL,而且通过服务器范围内的当前设置的访问控制进行访问。这个检查是通过一个内部subrequest完成的, 因此需要小心使用这个功能以降低服务器的性能.
另外: RewriteCond 指令后面可带 Flag, 现在只要2个可用, 一个是 NC|nocase, 不区分大小写的意思. 一个是 OR|ornext 表示连接下一个条件的意思.
RewriteCond 实际需要使用情况比如要判断一个条件成真的时候才执行相关的重写操作. 紧接着它下面的 RewriteRule 总是在RewriteCond 条件判断为真的时候才被执行.
看下面的一个例子:
#开启服务器重写模式
RewriteEngine on
#来自 www.test.cn 的连接访问本站时都只能访问 test.php 这页.
RewriteCond %{HTTP_REFERER} (www.test.cn)
RewriteRule (.*)$ test.php
#来自 www.test.com 的连接访问本站时都只能访问 newTest.php 这页.
RewriteCond %{HTTP_REFERER} (www.test.com)
RewriteRule (.*)$ newTest.php
更多参考:
http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

RewriteCond 详解相关推荐

  1. apache RewriteCond详解

    RewriteCond就像我们程序中的if语句一样,表示如果符合某个或某几个条件则执行RewriteCond下面紧邻的RewriteRule语句,这就是RewriteCond最原始.基础的功能,为了方 ...

  2. .htaccess文件中RewriteCond详解

    Apache中 RewriteCond语句对于我来说一直是个难点,多次试图去把它搞明白,都没有结构,这次我终于算大概知道它的意思了 RewriteCond就像我们程序中的if语句一样,表示如果符合某个 ...

  3. Web 服务器-Apache详解

    文章目录 一.讲在 Apache 之前 二.Apache 详解 2.1 概述 2.2 工作模式 修改方式: 2.3 相关文件保存位置 2.4 配置文件详解 2.5 Apache 实验 2.5.1 Ap ...

  4. Apache Rewrite 规则详解

    在开篇之前: 我想说这篇文章其实是我刚刚接触Rewrite的时候学习的文档,应属转载,但是在这里我不想写明原地址,原因是文章中大多数给出的配置命令经实验都是错误的.需要原文的可以在谷歌上搜索一下&qu ...

  5. (转)Apache Rewrite 详解

    (转)Apache Rewrite 详解 参考文档:http://man.chinaunix.net/newsoft/ApacheManual/mod/mod_rewrite.html Apache ...

  6. php .htaccess 的作用,php .htaccess文件使用详解

    1..htaccess文件使用前提 .htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的 ...

  7. mod_rewrite模块详解(转)

    mod_rewrite模块详解(转)[@more@] Apache模块 mod_rewrite mod_rewrite模块提供了一个基于规则的(使用正则表达式分析器的)实时转向URL请求的引擎.支持每 ...

  8. php tp框架,浅谈PHP之ThinkPHP框架使用详解

    Thinkphp框架其精髓就在于实现了MVC思想,其中M为模板.V为视图.C为控制器,模板一般是公共使用类,在涉及数据库时,一般会跟数据表同名,视图会和控制器类里的方法进行名字的一一对应. 下载及配置 ...

  9. linux apache htaccess,Apache下htaccess的配置使用详解

    Apache下htaccess的配置使用详解 看到群里很多前辈都在讨论.htaccess的用法,自己之前也小用过,只做了404的重定向,当然.htaccess的功能远不止这些,他还可以帮助我们做很多( ...

最新文章

  1. 人工智能模型数据泄露的攻击与防御研究综述
  2. 【原创翻译】文件与文件夹
  3. 常见概率分布的Matplotlib实现
  4. 利用WiFi Pineapple Nano渗透客户端获取SHELL
  5. 公众号 采集 java_Java实现公众号数据的抓取
  6. springboot整合springbatch
  7. matlab 动画_MATLAB作图实例:51:表面动画
  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---15
  9. 我拿什么拯救你,混乱的思维?不如试试这3款神器
  10. IDEA 使用Tomcat热部署
  11. 2021-03-19
  12. Python将PDF按页转换为图片
  13. 美化站长导航源码 自动收录+主动提交百度收录
  14. java mock when return can not resolve method xxxx error
  15. antd DatePicker 日期国际化错误 中英文混合存在(月份,星期英文,其他中文)
  16. 手机射频技术和手机射频模块基础解读
  17. 差商matlab编程,Matlab数值计算差商与插值
  18. 做股指期货投资必看的32本书
  19. python练习(1)
  20. 李翊 先吞噬后反刍,擒贼擒王--java之我注六经之二

热门文章

  1. 12 MM配置-主数据-定义物料组
  2. 汉字笔画数据_中国最生僻的5个汉字,仅仅只有一笔,专家:能认识一个就不错了...
  3. 计算机两年发展,计算机发展历史
  4. java ee 代码,JavaEE用户登录注册代码(免费)
  5. MySQL:数据库还原问题
  6. CUDA11.1安装教程(python3.8)
  7. 【tensorflow】张量tensor--数据容器(把它想象成一个数字的水桶)
  8. python计算区间内偶数和_Python 计算当真因子个数为偶数个时为幸运数,计算区间内幸运数之和...
  9. python html转word文档_Python实现将HTML转换成doc格式文件的方法示例
  10. 阿里云centos云服务器 - 网站搭建教程