Apache 中RewriteRule 规则参数
发布时间:2010-05-03 14:44:00
Apache模块 mod_rewrite 提供了一个基于正则表达式分析器的重写引擎来实时重写URL请求。它支持每个完整规则可以拥有不限数量的子规则以及附加条件规则的灵活而且强大的URL操作机制。此URL操作可以依赖于各种测试,比如服务器变量、环境变量、HTTP头、时间标记,甚至各种格式的用于匹配URL组成部分的查找数据库。
此模块可以操作URL的所有部分(包括路径信息部分),在服务器级的(httpd.conf)和目录级的(。htaccess)配置都有效,还可以生成最终请求字符串。此重写操作的结果可以是内部子处理,也可以是外部请求的转向,甚至还可以是内部代理处理。
这里着重介绍一下 RewriteRule 的规则以及参数说明。RewriteRule指令是重写引擎的根本。此指令可以多次使用。每个指令定义一个简单的重写规则。这些规则的定义顺序尤为重要——在运行时,规则是按这个顺序逐一生效的。
RewriteRule Pattern Substitution [flags]
Pattern是一个作用于当前URL的perl兼容的正则表达式。“当前URL”是指该规则生效时刻的URL的值。它可能与被请求的URL截然不同,因为其他规则可能在此之前已经发生匹配并对它做了改动。
Substitution是当原始URL与Pattern相匹配时,用来替代(或替换)的字符串。除了纯文本,还可以包含:
对Pattern的反向引用($N)
对最后匹配的RewriteCond的反向引用(%N)
规则条件测试字符串(%{VARNAME})中的服务器变量
映射函数调用(${mapname:key|default})
[flags]标记作为RewriteRule指令的第三个参数,是一个包含以逗号分隔的下列标记的列表:
'chain|C‘(链接下一规则)
此标记使当前规则与下一个规则相链接。它产生这样的效果:如果一个规则被匹配,则继续处理其后继规则,也就是这个标记不起作用;如果该规则不被匹配,则其后继规则将被跳过。比如,在一个目录级规则中执行一个外部重定向时,你可能需要删除“.www”(此处不应该出现“.www”)。
'cookie|CO=NAME:VAL:domain[:lifetime[:path]]’(设置cookie)
在客户端设置一个cookie。cookie的名称是NAME,值是VAL。domain是该cookie的域,比如‘.apache.org’,可选的lifetime是cookie的有效期(分钟),可选的path是cookie的路径。
'env|E=VAR:VAL‘(设置环境变量)
此标记将环境变量VAR的值为VAL,VAL可以包含可扩展的正则表达式反向引用($N和%N)。此标记可以多次使用以设置多个变量。这些变量可以在其后许多情况下被间接引用,通常是在XSSI(<!--#echo var=“VAR”-->)或CGI($ENV{'VAR'})中,也可以在后继的RewriteCond指令的CondPattern参数中通过%{ENV:VAR}引用。使用它可以记住从URL中剥离的信息。
'forbidden|F’(强制禁止URL)
强制禁止当前URL,也就是立即反馈一个HTTP响应码403(被禁止的)。使用这个标记,可以链接若干个RewriteConds来有条件地阻塞某些URL。
'gone|G‘(强制废弃URL)
强制当前URL为已废弃,也就是立即反馈一个HTTP响应码410(已废弃的)。使用这个标记,可以标明页面已经被废弃而不存在了。
'handler|H=Content-handler’(强制指定内容处理器)
强自制定目标文件的内容处理器为Content-handler。例如,用来模拟mod_alias模块的ScriptAlias指令,以强制映射文件夹内的所有文件都由“cgi-script”处理器处理。
'last|L‘(结尾规则)
立即停止重写操作,并不再应用其他重写规则。它对应于Perl中的last命令或C语言中的break命令。这个标记用于阻止当前已被重写的URL被后继规则再次重写。例如,使用它可以重写根路径的URL('/’)为实际存在的URL(比如:‘/e/www/’)。
猜你喜欢
- 从我开始知道 SEO 这几年起,基本上所有的 SEO 活动都是基于前端的,从header 到 body,从小标签到 CSS,从链接到关键词密
- 11月3日早间消息,花旗银行发布最新报告称,预估腾讯第三季网络游戏收入环比增长15%至14.3亿元,总收入及净利润则分别为32.8亿元及13
- 怎样提高网站的流量,是一个网站不得不面临的问题,总有一些常用的方法是站长在日常建站中使用的比较多,这里就做个详细的解释,让新手站长们更轻松的
- 为了宣传、推广自己,很多单位都架设了Web服务器,不过架设好的Web服务器如果不经过访问测试,很可能无法达到顺利发布信息的目的;这不,本文下
- 我的私人博客,不是这个, 以前屏蔽所有的搜索引擎,但是百度还是偷偷来访问,没想到百度真的是一个不遵守 robots.txt 的搜索引擎,真是
- 在SEO过程中,域名与虚拟主机的选择有时也会起到一定作用,尤其是高手过招,胜负往往就在小细节上。选择域名和虚拟主机,是建站伊始就要实施的工作
- 我们的防火墙是不是经常有人来攻击你XXX端口呢?如果关掉相应没有用处的端口不就好了吗? 一般来说,我们采用一些功能强大的反黑软件和防火墙来保
- 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
- 访问Web服务器是许多局域网用户经常要做的一项“功课”,在频繁访问过程中,不少朋友积累了一些Web服务器访问经验,这些经验常常会帮助他们快速
- 我们经常会碰到个人博客被黑客入侵并挂木马的事情,我以前曾经介绍过“服务器的安全配置技巧总结”,但是没有具体结合某个博客程序讲解,今天,我这里
- 北京时间10月27日消息,据国外媒体报道,印度报纸Business Standard今天援引未具名业界人士的话报道称,谷歌或与一家印度合作伙
- 2009年10月10号,美图秀秀官网发布了2.0周年版,小编这才发现原来美图秀秀已经一岁了。在感叹时间飞逝的同时,小编针对美图秀秀一年来的改
- DEDE评论效果: 修改后的效果: 修改步骤一、5.5版本(5.6版本请往下看)1、修改/plus/feedback_a
- web集群系统,是由一群同时运行同一个web应用的服务器组成的集群系统,在外界看来,就像是一个服务器一样。为了均衡集群服务器的负载,达到优化
- 一、什么是沙盒所谓的“沙盒效应(Sandbox Effect)”对于许多网站管理员来说不像游乐场,倒
- 网络上有这样一种说法,说混血儿更聪明,后来又听说根据优生学的原理,血缘关系越远的个体进行基因配对,越能取得杂交优势。所以混血儿就会比较聪明。
- 第一,策划网站赢利。做网站是为了赢利,为了能赚大钱。所以,在做网站之前,首先要想好网站的赢利模式。且,赢利活动,市场活动,在网站还没做好之前
- 首先,我门要明白什么是SEO,什么是SEM,什么是网络营销。SEO:搜索引擎最佳化(Search Engine Optimization),
- 最近遇到wordpress的头像在国内一直显示不出来,问题发生在WordPress 3.0以上,WordPress的头像服务Gravatar
- 问题:使用GetArticleList标签,,显示的时间比较长时会换行解决方法。 解决方法:这里只要修改下文件即可,找到 Include/P