ISAPI_rewrite中文参考手册第2/3页

 更新时间:2008年01月03日 11:38:09   作者:  
ISAPI_rewrite中文参考手册

I (ignore case) 
不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令 
F (Forbidden) 
对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。 
L (last rule) 
不应用任何重写规则在此停止重写进程,使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写 
N (Next iteration) 
强制REWRITINGENGINE调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果这个数值超过N FLAG将被忽略 
NS (Next iteration of the same rule) 
以N标记工作不从相同的规则重启规则规则进程(例如强制重复规则应用),通过RepeatLimit指令指定一个反复实行某一规则的最大数目, 
P (force proxy)  
强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求,必须确认代理字符串是一个有效的URI包括协议 主机等等否则代理将返回错误 
R (explicit redirect) 
强制服务器对客户端发出重定向指示即时应答,提供目的URI的新地址,重定向规则经常是最后规则 
RP (permanent redirect) 
几乎和[R]标记相同但是发布301HTTP状态而不是302HTTP状态代码 
U (Unmangle Log) 
当URI是源需求而不是重写需求时记载URI 
O (nOrmalize) 
在实行之前标准化字符串。标准化包括URL-ENCODING,不合法的字符的再移动等,这个标记对于URLS和URLS-ENDODED头是有用的  
CL (Case Lower)  
小写 
CU (Case Upper)  
大写 
RewriteHeader directive 
Syntax: RewriteHeader HeaderName Pattern FormatString [Flags]  
这个指令是RewriteRule的更概括化变种,它不仅重写URL的客户端需求部分,而且重写HTTP头,这个指令不仅用于重写。生成,删除任何HTTP头,甚至改变客户端请求的方法 
HeaderName  
指定将被重写的客户头,可取的值与 RewriteCond 指令中TestVerb参数相同 

Pattern 
限定规则表达式以匹配Request-URI, 
FormatString  
限定将生成新的URI的FormatString  
[Flags] 
是一个下列FLAGS的命令分隔列表  
I (ignore case) 
不管大小写强行指定字符匹配,这个FLAG影响RewriteRule指令和相应的RewriteCond 指令 
F (Forbidden) 
对客户端做反应,停止REWRITING进程并且发送403错误,注意在这种情况下FORMATSTRING 是无用的并可以设置为任何非空字符串。 
L (last rule) 
不应用任何重写规则在此停止重写进程,使用这个FLAG以阻止当前被重写的URI被后面的规则再次重写 
N (Next iteration) 
强制REWRITINGENGINE调整规则目标并且从头重启规则检查(所有修改将保存),重启次数由RepeatLimit指定的值限制,如果这个数值超过N FLAG将被忽略 

NS (Next iteration of the same rule) 
以N标记工作不从相同的规则重启规则规则进程(例如强制重复规则应用),通过RepeatLimit指令指定一个反复实行某一规则的最大数目, 

R (explicit redirect) 
强制服务器对客户端发出重定向指示即时应答,提供目的URI的新地址,重定向规则经常是最后规则 
RP (permanent redirect) 
几乎和[R]标记相同但是发布301HTTP状态而不是302HTTP状态代码 
U (Unmangle Log) 
当URI是源需求而不是重写需求时记载URI 
O (nOrmalize) 
在实行之前标准化字符串。标准化包括URL-ENCODING,不合法的字符的再移动等,这个标记对于URLS和URLS-ENDODED头是有用的  
CL (Case Lower)  
小写 
CU (Case Upper)  
大写 

要重移动头,FORMAT STRING模式应该生成一个空字符串,例如这一规则将从客户请求中重移代理信息 
RewriteHeader User-Agent: .* $0 
并且这一规则将把OLD-URL HEADER 加入请求中。 
RewriteCond URL (.*)RewriteHeader Old-URL: ^$ $1 
最后一个例子将通过改变请求方法定向所有的WEBDAV请求到/WEBDAV。ASP 
RewriteCond METHOD OPTIONS 
RewriteRule (.*) /webdav.asp?$1 
RewriteHeader METHOD OPTIONS GET 
RewriteProxy directive 
Syntax: RewriteProxy Pattern FormatString [Flags]  
强制目的URI在内部强制为代理需求并且立即通过ISAPI扩展应付代理需求,这将允许IIS作为代理服务器并且重路由到其他站点和服务器 
Pattern 
限定规则表达式以匹配Request-URI, 
FormatString  
限定将生成新的URI的FormatString  
[Flags] 
是一个下列FLAGS的命令分隔列表 
D (Delegate security)  
代理模式将试图以当前假冒的用户资格登陆远程服务器, 
C (use Credentials)  
代理模式将试图一在URL或基本授权头文件中指定的资格登陆远程服务器,用这个标记你可以使用http://user:password@host.com/path/ syntax 作为URL 
F (Follow redirects) 
缺省情况下ISAPI_Rewrite 将试图将MAP远程服务器返回的重定向指令到本地服务器命名空间,如果远程服务器返回重定向点到那台服务器其他的某个位置,ISAPI_Rewrite 将修改这一重定向指令指向本服务器名,这将避免用户看到真实(内部)服务器名称 
使用F标记强制代理模式内部跟踪远程服务器返回的重定向指令,使用这个标记如果你根本不需要接受远程服务器的重定向指令,在WINHTTP设置中有重定向限制以避免远程重定向循环 
I (ignore case)  
不管大小写强行指定字符匹配  
U (Unmangle Log) 
当URI是源需求而不是重写需求时记载URI 
O (nOrmalize) 
在实行之前标准化字符串。标准化包括URL-ENCODING,不合法的字符的再移动等,这个标记对于URLS和URLS-ENDODED头是有用的 
CacheClockRate directive 
Syntax: CacheClockRate Interval  
这个指令只在GLOBAL配置内容中出现,如果这个指令在SITE-LEVEL内容中出现将被忽略并把错误信息写入httpd.parse.errors 文件 
ISAPI_Rewrite caches每次在第一次加载时配置,使用这个指令你可以限定当一个特定站点从缓存中清理的不活动周期,把这个参数设置的足够大你可以强制ISAPI_Rewrite 永不清理缓存,记住任何配置文件的改变将在下次请求后立即更新而忽略这个周期 
Interval  
限定特定配置被清理出缓存的不作为时间(以秒计),缺省值3600(1小时) 
EnableConfig and DisableConfig directives 
Syntax: 
EnableConfig [SiteID|"Site name"] 
DisableConfig [SiteID|"Site name"]  
对所选站点激活或不激活SITE-LEVEL配置或者改变缺省配置,缺省SITE-LEVEL配置不激活,这个指令只出现在GLOBAL配置内容中 
SiteID  
Numeric metabase identifier of a site 

Site name  
Name of the site as it appears in the IIS console 
不用参数使用这个命令将改变缺省配置到ENABLE/DISABLE配置进程 
例子 
下面例子将使配置仅作用于ID=1(典型是缺省站点)名字是MY SITE的站点 
DisableConfig 
EnableConfig 1 
EnableConfig"My site" 
下边例子将激活名称为SOMESITE配置因为它分割设置重载了缺省设置 
EnableConfig"Some site" 
DisableConfig 
EnableRewrite and DisableRewrite directives  
Syntax: 
EnableRewrite [SiteID|"Site name"] 
DisableRewrite [SiteID|"Site name"]  
对所选站点激活或不激活重写或者改变缺省配置,缺省重写配置激活,这个指令只出现在GLOBAL配置内容中 
SiteID  
Numeric metabase identifier of a site 

Site name  
Name of the site as it appears in the IIS console. 

不使用参数这个命令将全部激活或者不激活 
RepeatLimit directive 
Syntax: RepeatLimit Limit  
这个指令可以出现在GLOBAL和SITE-LEVEL配置文件中,如果出现在GLOBAL配置文件中竟改变GLOBAL对于所有站点的限制,出现在SITE-LEVEL配置中竟只改变对于这个站点的限制并且这个限制不能超过GLOBAL限制 
ISAPI_Rewrite在实行规则时允许循环,这个指令允许限制最大可能循环的数量,可以设置为0或1而不支持循环, 
LIMIT 
限制最大循环数量,缺省32 
RFStyle directive 
Syntax: RFStyle Old | New  
Configuration Utility 
ISAPI_Rewrite Full包括配置功用(可以在 ISAPI_Rewrite 程序组中启动),它允许你浏览测试状态并输入注册码(如果在安装过程中没有注册),并且调整部分与代理模式操作相关的产品功能,UTILITY是由三个页面组成的属性表 
Trial page允许你浏览TIRAL状态并输入注册码(如果在安装过程中没有注册) 
Settings page 
这页包含对下列参数的编辑框 

Helper URL  
这个参数影响过滤器和代理模块之间的联系方式,它即可以是以点做前缀的文件扩展名(如 .isrwhlp)也可以是绝对路径, 
第一种情况下扩展名将追加在初始请求URI上并且代理模块竟通过SCRIPT MAP激活,缺省扩展名isrwhlp在安装进程中加在global script map 中,如果你改变这个扩展名或者你的应用不继承global script map 设置你应该手动添加向script map 所需求的入口。这个应该有如下参数 
Executable: An absolute path to the rwhelper.dll in the short form  
Extension: Desired extension (.isrwhlp is default)  
Verbs radio button: All Verbs  
Script engine checkbox: Checked  
Check that file exists checkbox: Unchecked  
我们已经创建了一个WSH script proxycfg.vbs ,可以简单在一个a script maps中注册,她位于安装文件夹并且可以在命令行一如下方式运行 
cscript proxycfg.vbs [-r] [MetabasePath]  
Optional -r 强制注册扩展名 
Optional MetabasePath parameter allows specification of the first metabase key to process. By default it is "/localhost/W3SVC". 
要在所有现存的 script maps 中注册你可以以如下命令行激活 script  
cscript proxycfg.vbs -r  
第二种情况下你应该提供一个URI作为'Helper URL'的值,你也应该map 一个 ISAPI_Rewrite的安装文件夹作为美意个站点的虚拟文件家 
注意:根据顾客反应,IIS5(也许包括IIS4)对长目录名有问题。所以我们强烈推荐使用短目录名 
Worker threads limit  
这个参数限制在代理扩展线程池中工作线程数,缺省为0意味着这个限制等于处理器数量乘以2 
Active threads limit 
这个参数限制当前运行线程数,这个数量不可大于"Worker threads limit". 缺省0意思是等于处理器数量 
Queue size 这个参数定义最大请求数量,如果你曾经看到Queue timeout expired" 信息在 the Application event log中你可以增加这个参数 
Queue timeout  
这个参数定义你在内部请求队列中防止新请求的最大等待时间,如果你曾经看到Queue timeout expired" 信息在 the Application event log中你可以增加这个参数 
Connect timeout  
以毫秒设定代理模块连接超时 
Send timeout  
以毫秒设定代理模块发送超时 
Receive timeout  
以毫秒设定代理模块发送超时 
About page.  
It contains copyright information and a link to the ISAPI_Rewrite's web site.  
 

相关文章

最新评论