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
OK, RewriteCond 就介绍到这里了. 其实很简单. 就想程序里的 if() 这样的效果. 下篇聊一下
RewriteRule
相关推荐
### Apache Rewrite Module 重定向问题解析 #### 一、Apache Rewrite Module 概述 Apache的Rewrite Module(重写模块)是Apache服务器中一个非常强大的工具,主要用于URL重写及重定向功能。它通过一系列规则对请求...
`mod_rewrite`模块提供了URL重写功能,这在实现SEO友好URL、隐藏真实路径或实现动态URL静态化时非常有用。通过`RewriteRule`和`RewriteCond`指令,我们可以编写复杂的规则来处理URL。 六、PHP集成与配置 Apache与...
通过RewriteEngine、RewriteRule和RewriteCond,可以实现URL的动态转换,这对于SEO和内部路由非常重要。 九、性能优化 1. KeepAlive:启用持久连接以减少TCP握手开销。 2. MaxKeepAliveRequests:限制每个连接处理...
Apache伪静态Rewrite技术是一种强大的URL重写工具,它允许开发者通过正则表达式来转换和控制用户请求的URL,从而实现对网站内容的动态处理而显示为静态页面的效果。这项技术对于SEO优化和用户体验提升有着重要作用,...
Apache 开启伪静态 Rewrite url重写规则详解 Apache 的 Rewrite 模块提供了强大的 URL 重写功能,通过在配置文件中添加规则,能够实现复杂的 URL 转换和跳转。本文将详细介绍 Apache 开启伪静态的配置和应用。 一...
关于Apache_mod_rewrite的中文配置与RewriteRule规则详细介绍 在当今互联网时代,网站优化与安全性是网站管理员关注的焦点。Apache_mod_rewrite作为一个强大的工具,它不仅能够帮助网站优化URL结构,提升用户体验,...
### mod_rewrite - Apache HTTP服务器模块详解 #### 模块概述 `mod_rewrite`是Apache HTTP服务器的一个强大且灵活的模块,它提供了基于规则的实时URL重写能力。这个模块允许服务器根据一系列预定义的规则来修改...
**Rewrite伪静态组件详解** 在互联网开发中,"Rewrite伪静态组件"是一个非常重要的技术,它主要用于将动态URL转换为看似静态的URL形式,从而提高网站的用户体验和搜索引擎优化(SEO)效果。动态URL通常包含问号(?...
**Rewrite模块详解** mod_rewrite是Apache HTTP Server中的一个URL重写模块,能够根据预定义的规则对请求的URL进行重新解析,从而实现URL美化、隐藏真实路径、动态URL转静态URL等功能。这个模块使用了一个叫做...
`php rewrite` 主要涉及的是 Apache 服务器中的 mod_rewrite 模块,这是一个强大的 URL 重写工具,常用于 PHP 开发中优化网址结构、实现动态URL的静态化以及阻止恶意IP访问等功能。该模块通过定义规则来改变服务器...
#### 三、RewriteRule详解 **RewriteRule**的基本语法为: ```apache RewriteRule pattern replacement [flags] ``` 其中: - **pattern**:正则表达式模式,用于匹配请求的URL。 - **replacement**:替换字符串...
`.htaccess`还支持使用`mod_rewrite`模块进行更复杂的URL重写,这对于SEO友好和隐藏实际URL路径很有用。例如: ```apacheconf RewriteEngine On RewriteRule ^blog/(\d+)-(.*)$ blog.php?id=$1&title=$2 [L] ``` 这...
### Apache服务的HTTPS支持配置详解 #### 概述 HTTPS,即HyperText Transfer Protocol Secure,是一种安全的超文本传输协议,它在HTTP的基础上通过SSL/TLS协议加密数据,确保数据在传输过程中的安全性,防止数据被...
2. 启用`mod_rewrite`模块,去除`LoadModule rewrite_module modules/mod_rewrite.so`前的注释符号。 接下来,我们来看如何实现各种功能: 1. **自定义错误页面**: 使用`ErrorDocument`指令,如`ErrorDocument ...
### Apache中Virtual Host虚拟主机配置及Rewrite参数详解 #### 一、Virtual Host虚拟主机配置 **1.1 概念介绍** 在Apache服务器中,Virtual Host(虚拟主机)技术允许在同一台物理服务器上托管多个不同的网站或Web...
### Apache + Tomcat 域名泛解析详解 在现代Web服务器配置中,Apache与Tomcat结合使用是一种常见的做法,特别是在需要处理静态资源与动态内容分离的场景下。本文将详细探讨如何通过Apache来实现对Tomcat应用的域名...
### Apache的mod_rewrite详解 #### 一、简介 在探讨Apache的`mod_rewrite`之前,我们先简单了解下它的背景。`mod_rewrite`是Apache的一个模块,它为URL重写提供了一个强大的工具集。该模块的功能非常强大,几乎...
### Apache反向代理知识点详解 #### 一、测试环境与网络结构 在开始之前,我们需要了解测试环境的具体配置。本文采用的是Redhat Linux 7.2操作系统,搭配Apache 1.3.24版本,假设公司的域名为company.com。网络...
### Apache 开启伪静态的方法详解 #### 环境配置 - **操作系统**: Windows - **Apache 版本**: 2.2 #### 加载Rewrite模块 在Apache的配置过程中,启用伪静态功能首先需要确保Rewrite模块已经被正确加载。在`conf`...
### 网站图片防盗Apache配置 随着互联网技术的发展与普及,越来越多的企业...此外,启用防盗链功能还需要确保已安装并启用了`mod_rewrite`模块。希望以上内容能帮助大家更好地保护自己的网站资源,避免不必要的损失。