网站运营
位置:首页>> 网站运营>> Apache 中RewriteRule 规则参数(2)

Apache 中RewriteRule 规则参数(2)

  发布时间:2010-05-03 14:44:00 

标签:Apache,mod_rewrite,参数

'next|N‘(从头再来)

重新执行重写操作(从第一个规则重新开始)。此时再次进行处理的URL已经不是原始的URL了,而是经最后一个重写规则处理过的URL。它对应于Perl中的next命令或C语言中的continue命令。此标记可以重新开始重写操作(立即回到循环的开头)。但是要小心,不要制造死循环!

'nocase|NC’(忽略大小写)

它使Pattern忽略大小写,也就是在Pattern与当前URL匹配时,‘A-Z’和‘a-z’没有区别。

'noescape|NE‘(在输出中不对URI进行转义)

此标记阻止mod_rewrite对重写结果应用常规的URI转义规则。 一般情况下,特殊字符('%', '$', ';’等)会被转义为等值的十六进制编码(‘%25', '%24', '%3B’等)。此标记可以阻止这样的转义,以允许百分号等符号出现在输出中,比如:

RewriteRule /foo/(。*) /bar?arg=P1\%3d$1 [R,NE]

可以使‘/foo/zed转向到一个安全的请求'/bar?arg=P1=zed’。

'nosubreq|NS‘(不对内部子请求进行处理)

在当前请求是一个内部子请求时,此标记强制重写引擎跳过该重写规则。比如,在mod_include试图搜索目录默认文件(index.xxx)时,Apache会在内部产生子请求。对于子请求,重写规则不一定有用,而且如果整个规则集都起作用,它甚至可能会引发错误。所以,可以用这个标记来排除某些规则。

使用原则:如果你为URL添加了CGI脚本前缀,以强制它们由CGI脚本处理,但对子请求处理的出错率(或者资源开销)很高,在这种情况下,可以使用这个标记。

'proxy|P’(强制为代理)

此标记使替换成分被内部地强制作为代理请求发送,并立即中断重写处理,然后把处理移交给mod_proxy模块。你必须确保此替换串是一个能够被mod_proxy处理的有效URI(比如以http://hostname开头),否则将得到一个代理模块返回的错误。使用这个标记,可以把某些远程成分映射到本地服务器域名空间,从而增强了ProxyPass指令的功能。

注意:要使用这个功能,必须已经启用了mod_proxy模块。

'passthrough|PT‘(移交给下一个处理器)

此标记强制重写引擎将内部request_rec结构中的uri字段设置为filename字段的值,这个小小的修改使得RewriteRule指令的输出能够被(从URI转换到文件名的)Alias, ScriptAlias, Redirect等指令进行后续处理[原文:This flag is just a hack to enable post-processing of the output of RewriteRule directives, using Alias, ScriptAlias, Redirect, and other directives from various URI-to-filename translators.]。举一个能说明其含义的例子: 如果要将/abc重写为/def, 然后再使用mod_alias将/def转换为/ghi,可以这样:

RewriteRule ^/abc(。*) /def$1 [PT]

Alias /def /ghi

如果省略了PT标记,虽然将uri=/abc/…重写为filename=/def/…的部分运作正常,但是后续的mod_alias在试图将URI转换到文件名时会遭遇失效。

注意:如果需要混合使用多个将URI转换到文件名的模块时,就必须使用这个标记……此处混合使用mod_alias和mod_rewrite就是个典型的例子。

'qsappend|QSA’(追加查询字符串)

此标记强制重写引擎在已有的替换字符串中追加一个查询字符串,而不是简单的替换。如果需要通过重写规则在请求串中增加信息,就可以使用这个标记。

'redirect|R [=code]‘(强制重定向)

若Substitution以http://thishost[:thisport]/(使新的URL成为一个URI)开头,可以强制性执行一个外部重定向。如果没有指定code,则产生一个HTTP响应码302(临时性移动)。如果需要使用在300-400范围内的其他响应代码,只需在此指定即可(或使用下列符号名称之一:temp(默认), permanent, seeother)。使用它可以把规范化的URL反馈给客户端,如将“/~”重写为“/u/”,或始终对/u/user加上斜杠,等等。

注意:在使用这个标记时,必须确保该替换字段是一个有效的URL。否则,它会指向一个无效的位置!并且要记住,此标记本身只是对URL加上http://thishost[:thisport]/前缀,重写操作仍然会继续进行。通常,你还会希望停止重写操作而立即重定向,那么就还需要使用'L’标记。

'skip|S=num‘(跳过后继规则)

此标记强制重写引擎跳过当前匹配规则之后的num个规则。它可以模拟if-then-else结构:最后一个规则是then从句,而被跳过的skip=N个规则是else从句。注意:它和'chain|C’标记是不同的!

'type|T=MIME-type‘(强制MIME类型)

强制目标文件的MIME类型为MIME-type,可以用来基于某些特定条件强制设置内容类型。比如,下面的指令可以让。php文件在以。phps扩展名调用的情况下由mod_php按照PHP源代码的MIME类型(application/x-httpd-php-source)显示:

RewriteRule ^(。+\.php)s$ $1 [T=application/x-httpd-php-source]

0
投稿

猜你喜欢

  • 导读:最新一期美国《商业周刊》撰文,对谷歌界面的改版流程和背后的故事进行了介绍。以下为文章全文:第8次改版每天都有2.68亿人使用谷歌来搜索
  • 从昨天22:00开始,在落伍者就不断有站长就在说自己的站点解封了,如果仅仅是几个站长在说的话我们会当作是正常范围内的小调整,但是越来越多的站
  • 6、能够使用一个磁盘的第一个分区作为裸设备吗?可以,但是不推荐。在Unix的比较旧的版本是银行,磁盘的第一个分区常常包含这个磁盘的一些信息,
  • 使用下面的步骤来设置ftp进行日志记录:1.# cp /etc/inetd.conf /etc/inetd.conf.bak2.# vi /
  • 在看到苹果公司宣布将以29美元的价格对其MacOS进行升级时笔者想起了这则广告。这听起来就比微软复杂的定价方案要好得多。而事实上29美元的升
  • WordPress功能之所以如此强大,正是因为它不仅具有大量默认功能,还被赋予了无限的可扩展性。开发者可以通过开发插件或者widget来实现
  •  在使用wordpress博客程序上传RAR格式的压缩文件时,通常会提示错误:文件类型不符合安全规则。wordpress默认是不支
  • Google对各个站点的索引并不是同步的,可能站点A添加了一个新页面,而B没有,可能A就Google首先索引。 为什么会这样?在此对这点我们
  • 1、NFS简介(1)什么是NFS?1)NFS是Net File System的简写,即网络文件系统。NFS是由SUN公司开发,并于1984年
  • 自己也是菜鸟一个(文中若有错误之处欢迎各位大虾们指出)但还是希望能将我自己的一些作站经历写出来,为广大菜鸟朋友们做一些参考。试验目的:在只有
  • 对于大多数企业局域网来说,路由器已经成为正在使用之中的最重要的安全设备之一。一般来说,大多数网络都有一个主要的接入点。这就是通常与专用防火墙
  • VIEWGOOD VOD视频点播系统 (WebVOD)漏洞产生于文件/webmedia/oemui/user/guest.asp,访问这个页
  • 在网站seo优化的过程中常常需要通过一个名为robots.txt的文件与搜索引擎蜘蛛对话。通常来讲,搜索引擎蜘蛛爬行到某一个网站就会首先读取
  • 话说某日暴某站菊花,发现Web目录权限极小,除了基本的上传功能健全,几乎没有任何权限,修改,删除,替换等都不奏效.心想此站权限设置果然牛B,
  • Alexa 排名对于每个建站的朋友来说都不陌生了,它是目前常用来评价某一网站访问量的一个重要指标。虽然人们对他的算法颇有责疑(它只对安装了&
  • 为维持其“硬件+软件+服务”三合一连动发展的业务模式,IBM需要不断地推出新的概念来创造需求。IBM变得愈发令人难以捉摸了:我们看到的究竟是
  • 在此介绍一下我在RedHat Linux 7.2下装Apache与Tomcat4整合的过程,重点讲述mod_webapp.so的制作方法,
  • 做一个中国站长,如果以下50个问题,你不知道,你会很吃亏的,也有可能你是一个倒霉的站长。五十个问题,有四十个你能做到,那你才是及格的站长,这
  • 在各个网站之间穿行就象是在公园里漫步,不过你得小心,这个公园里总有一些招人讨厌的小缺陷 —— Flash 动画,Java 陷阱以及其它一些令
  • Windows2000/XP的任务管理器是一个非常有用的工具,它能提供我们很多信息,比如现在系统中运行的程序(进程),但是面对那些文件可执行
手机版 网站运营 asp之家 www.aspxhome.com