有lite版本
不过有如下限制:
1.不支持分布式/htaccess的设置/目录和站点级别的设置,只有一个全局性设置文件可配置:f
2.不支持<virtualhost>虚拟目录, <directorymatch> , <files> , <filesmatch> , <location>和<locationmatch>标记
3.有没有代理模块的简洁版,因此,所有代理相关的功能一样, rewriteproxy指令和[ p ]国旗将被忽略。
4.没有手动安装套件简洁版安装在一个共享的托管环境。
5.isapi_rewrite Lite是完全免费的,这是一个很好的解决方案为发展或测试的目的和小的服务器主机,只有少数的网站,并且不需要分发配置或代理职能。
ISAPI_Rewrite 最全的中文说明介绍
介绍
ISAPI_Rewrite 是一位强有力的正规兵基于表示 URL 操作引擎。 它行动主要象亚帕基印第安人的mod_Rewrite, 但它是 设计特别是为Microsoft Internet Information Server 并且微软安全和加速度服务器2004 年。 如果曾经您 想改变您的网站的U
RL 计划, 这个产品是为您!
一些ISAPI_Rewrite 的关键好处:
速度
ISAPI_Rewrite 是极端快速和高度可升级的 解答。 它由使用写唯一纯净的C/C++ 代码、Win32 API 和ISAPI 。 它 使用聪明的配置贮藏所机制。 所有工作被完成在一个 演出并且没有递归地请求或可以的所有其它操作 需要久时间。
安全
ISAPI_Rewrite 被设计为操作在被分享 环境。 它可能服务许多个站点如同您有。 ISP 和主持提供者 罐头安全地允许他们的用户配置ISAPI_Rewrite 和是肯定的任何 配置变化将影响唯一地方使用者环境。 ISAPI_Rewrite 能甚而解决许多安全问题, 例如, 阻拦对一些的通入 文件夹或文件附本或创造更加复杂的规则。
力量
ISAPI_Rewrite 的灵活性和力量来形式它 正则表达式自然。 以正则表达式您不需要写a 数以万计检查串。 比较和替换URLs 可能做与a 少量串样式。 如此, ISAPI_Rewrite 可能做无法完成的许多事 使用其它解答可利用为IIS 。 看见 例子 部分对于更多信息。
主要概念
ISAPI_Rewrite 提供一个基于规则的重写的引擎对重写被请求 URLs 正在进行中。 它支持实际上规则的无限的数字和 附上规则的无限的数字适应提供一真正地灵活 并且强有力的URL 操作机制(设置文件大小强迫真正地是 对2Mb 限制防止可能的设置解析天花板) 。 URL 操作 可能取决于测试为HTTP 倒栽跳水, 服务器可变物, 请求URI, 方法 并且客户请求的版本信息。
这个节目经营请求URI (道路信息加上询问串) 并且HTTP 倒栽跳水作为它描述了在RFC 2068 两个在服务器(全球性) 或站点 上下文。 操作的结果可能导致重写, proxying, 改变方向, 或阻拦原始的请求。 例如如果客户请求资源 www 。somesite 。com/path/file 。ext?parameter=value ISAPI_Rewri
te 将操作零件被标记在红。 另外ISAPI_Rewrite 能重写, 创造或去除请求的其他HTTP 倒栽跳水。
重写的引擎审阅ruleset 规则由规则(RewriteRule 方针) 。 特殊规则被运用只如果它匹配反对URI 并且所有对应适应(RewriteCond 方针) 比赛反对 他们的测试串。 ISAPI_Rewrite 用途 比赛 算法。 它意味, 样式表示不被搜寻在 串; 它被匹配反对整体输入串。 一种成功的规则应用的结果 被保存在原始的倒栽跳水并且它将是可看见的为随后规则。 规则处理 停止当一个前个规则(改方向, 代理人, 被禁止或规则由L 旗子标记) 被匹配。
重写将导致服务器继续请求处理与新URI 如果它是由客户最初要求。 新URI 可能包括询问 串部分(随后而来的问号) 并且也许指挥对所有文件, 剧本 电话, 节目祈求等。
Proxiing 导致收效的URI 内部对待代理人请求 并且立刻(i.e 。 规则处理中止这里) 被接通的 处理代理人请求的ISAPI 引伸。 您必须确信, 代替串是合法的URI 包括协议、主人, 等。 或代理人 将退回错误。
改变方向将导致服务器送对一个客户的直接反应以改方向 指示(HTTP 反应代码302 与地点倒栽跳水), 提供收效 URI 作为一个新地点。 您能使用(由RFC 必须的绝对链接 2068) 在改变方向指示改请求方向对一个另外主人, 口岸 并且协议。 总改指示起因方向重写引擎停止规则 程序化处理。
规则被处理按出现的顺序在a 配置文件。 ISAPI_Rewrite 处理服务器级(全球性) 规则首先和 然后它处理一个各自的真正站点规则(如果指定) 。 没有 递归请求或随后反转在处理次序(除了明确地引起 圈), 因此您从未将进入一个死循环。
在所有操作在URI ISAPI_Rewrite 保存原始的道路信息和询问串之前 在HTTP 倒栽跳水被命名 X 重写Url. 然后它可能被检索 在ASP 使用请求。ServerVariables("HTTP_X_REWRITE_URL") 别名。
每当您投入了括号在一个正则表达式仿造参考 那些可能被使用在格式串之内(使用$N 句法) 或在其他之内 样式(使用\N 句法) 内部被创造。 这些参考是全球性的为整个 RewriteRule 方向性和对应 RewriteCond 方针。 Submatches 被编号从下来和从左到右 开始从一 RewriteCond 方向性(如果这样的方针存在) 对应于 RewriteRule.
简化规则和加强服务器安全它是 强烈推荐使父母道路失去能力在IIS 设置。
设施
自动设施
您共同地安装ISAPI_Rewrite 由跑设施包裹的当中一个 并且从事巫术师指示。 安装程序将复制文件 并且记数器COM 对象、ISAPI 过滤器和ISAPI 引伸自动。 其它手工步没有要求完成设施。 虽然一些另外的手工步喜欢 文件系统允许配置或注册代理人在IIS 剧本地图也许必需。
手工设施
唯一ISAPI_Rewrite 的充分的版本支持手
工设施。 您将需要 下载分明手工设施包裹包含所有必需的文件。 您能安装 所有特点或唯一部份的他们。
最小的设施包括唯一过滤器。 您应该复制 ISAPI_Rewrite 。dll 归档对目标机和登记它 如同ISAPI 过滤器使用IIS MMC snap-in 。 ISAPI_Rewrite 。dll 能是 登记了或全球性地或在一个特殊站点水平(但不是两个) 。 过滤器将设法装载主要配置文件(httpd.ini) 从过滤器DLL 被出的文件夹。 站点平实配置被装载从网站根。
它并且被推荐登记消息来源dll 提供文本描述 ISAPI_Rewrite 的事件对事件观察者。 这能由发射做被提供 regmsg 。vbs 剧本从的文件夹 RewriteMsg 。dll 将被出。
使能站点根道路变动的监视登记COM 服务器 mtbnotif 。dll 以命令 regsvr32 mtbnotif 。dll.
代理人模块要求WinHTTP 5 。1 被安装在服务器。 它已经是存在 在窗口服务器2003 年, 在Windows XP 从SP1 和在视窗2000 从SP3 。 安装它在视窗2000 的更加早期的版本并且Windows XP 或在NT4 您能或者 使用自动设施或下载和安装肥皂工具箱3 SDK 从 download 。微软。com/download/2/e/0/2.e068.a11-9ef7-45f5-820f-89573d7c4939/soapsdk 。exe. 在窗口服务器2003 年 您应该安置文件 rwhelper 。dll 。明显 在的同样文件夹 rwhelper 。dll 被出。 不要安装明显文件在其它OSes. 并且, 在窗口2003 您应该创造 并且使能一个网络服务器引伸以一个任意名指向rwhelper 。dll 由一个短的道路名字。 代理人模块的配置被描述在 配置程序 这的部分 手工。
登记ISAPI_Rewrite 用途 ISRWConfig 。exe 公共事业。
已知的局限和问题
Lite 版本局限
Lite 和ISAPI_Rewrite 的充分的版本分享同样重写的引擎 并且原始代码。 但Lite 版本不支持每站点配置 并且所有相对特点。 唯一全球性规则被处理。 另外Lite 版本不包括proxying 的引擎。 以下方针不是 支持在Lite 版本: RewriteProxy, EnableRewrite, DisableRewrite, EnableConfig, DisableConfig, CacheClockRate 。 以下旗子不支持在Lite 版本: P - 代理人。
ISA 版本具体
ISAPI_Rewrite 为ISA 服务器2004 年根据ISAPI_Rewrite 的Lite 版本。 I.e 。 它 和一样归结于ISA 建筑学的Lite 版本有限制(。 它不 支持ISAPI 的子集要求为其它充分的版本特点工作) 。 注意如果您然后有超过一台ISA 服务器在服务器列阵 您必须安装ISAPI_Rewrite 为ISA 2004 年在所有列阵成员。
特别笔记为IIS6
这些特别笔记有关互联网信息服务器6 的新特点。0 (固定入 窗口2003 年服务器) 和局限强加了由那些特点给ISAPI_Rewrite 的功能。
IIS6 的主要区别从它的祖先是一个新处理模型叫做Worker ·Process 隔离(WPI) 方式。 虽然IIS6 能经营在(没有作用在ISAPI_Rewrite 的功能) 的IIS5 兼容性方式下 它的主要好处能达到只在WPI
方式下。
在WPI 方式真正网站甚至单独网应用跑里面应用水池。 并且 各个应用水池由一个或更多服务被隔绝的工作者过程w3wp 。exe 。 它看起来象高隔离方式 在IIS5 但那里存在一个重大区别。 过滤器不运行在inetinfo 里面。exe 过程再。 他们跑里面工作者过程作为通常应用。
它意味, 那里能是唯一过滤器(一个事例的多个事例为各个工作者过程) 。 然而这不是一个问题为ISAPI_Rewrite 。 但如果, 例如, 二种网应用 mysite/app1 和mysite/app2 运行用不同的应用水池比 重写URLs 从/app1 对/app2 将被
禁止竟管两种应用属于 同样网站mysite 。 只改方向或代理人能安全地被使用在这种情况下。 然而, 这个制约从那以后通常没有对ISAPI_Rewrite 用法的任何重大冲击 整体网站在许多情况下包含一种唯一网应用由唯一服务 应用水池。
了解的问题
IIS5 似乎有有HTTPS 反应的问题引起从过滤器。 这能做 老牌HTTPS 改方向失败。 绕过这个问题使新式改方向与
RFStyle 新
方向性。
配置
允许要求跑ISAPI_Rewrite
在Windows NT4 、视窗2000 、Windows XP 和窗口2003 年在IIS5 兼容模式下 过滤器奔跑在inetinfo 。exe 过程在之下 系统帐户。 因而系统帐户应该被给至少对所有ISAPI_Rewrite dlls 的读出存取和 所有httpd 。ini 文件。 我们并且推荐报告系统修改允许在所有文件夹 包含httpd 。ini 文件。 那将允许httpd 的创作。解析。错误文件包含设置 归档分析错误。 另外的允许也许必需为代理人模块。 从它 能跑在合并或高被隔绝的应用方式, IIS 的帐户分享了水池 并且高的隔离水池应该被给读的允许rwhelper 。dll 。 并且这些应该被报告修改允许在系统临时文件夹(通常 C:\Windows\Temp) 。 IWAM_<C
omputerName> 被使用为所有水池。 水池帐户能被发现 在对应的COM+ 应用设置在COM+ 管理帮助下MMC snap-in 。
在窗口2003 年在当地IIS 方式下(WPI 方式) 过滤器和代理人运行在w3wp 。exe 工作者处理对应于 应用水池主持特殊网应用。 各个应用水池能被配置 使用它自己的身分。 这能把允许配置变成一项棘手的任务。 但是在一种正确IIS 配置各个半新身分应该是成员 IIS_WPG 小组。 如此, IIS_WPG 小组能被使用分配必需的允许。 至少读允许应该被给所有ISAPI_Rewrite dlls, rwhelper 。dll 。体现和所有httpd 。ini 文件。 并且如果代理人将被使用IIS_WPG 应该被给修改允许在系统临时文件夹(通常 C:\Windows\Temp) 。 我们并且推荐给IIS_WPG 修改允许在目录包含httpd 。ini 文件允许httpd 。解析。错误 归档创作。
代理人模块的配置。
有时代理人模块也许要求手工配置(如果您将看404 个错误何时 然后proxying 它大概是案件被描述这里) 。 它
发生当继承链子 ScriptMap metabase 物产是残破的(这是通常发生的一个正常情况 当网站配置手工被修改了) 。 在这种情况下剧本映射要求为 代理人工作应该手工居住于。 有WSH 剧本叫 cscript 。vbs 在 ISAPI_Rewrite 能被使用居住于代理人剧本映射的设施文件夹 通过metabase 。 读 配置程序部分 为剧本 用法细节。
配置文件格式
有二类型配置文件- 全球性 (服务器级) 并且各自的(站点级) 文件。 全球性配置 文件应该被命名 httpd 。ini 并且应该出现 I
SAPI_Rewrite 设施目录。 这个文件捷径被提供 通过起动菜单。 各自的配置文件应该被命名 httpd 。ini 并且能出现在物理根目录 真正站点。 所有配置文件有同样格式。 并且这是标准的格式 窗口INI 文件设置是残破的由部分的地方。 唯一的部分允许在这个版本 ISAPI_Rewrite 是 [ ISAPI_Rewrite ]. 所有方针 如果被安置在这个部分和每个方向性应该被安置在a 分开的线。 任一文本在这个部分之外将被忽略。
httpd 。ini 文件例子:
[ ISAPI_Rewrite ]
# 这是评论
# 300 = 5 分钟
CacheClockRate 300
RepeatLimit 20
# 对httpd 的块外在通入。ini 和httpd 。解析。错误文件
RewriteRule /httpd(?:\.ini| \ 。解析\ 。错误)/[ F 、i, o ]
# 对帮手ISAPI 引伸的块外在通入
RewriteRule 。*\.isrwhlp/[ F 、i, o ]
# 一些风俗规则
RewriteCond 主人: (.+)
RewriteRule (。*) /$1$2 [ I]
当ISAPI_Rewrite 解析配置文件它创造 误差记录文件命名了 httpd 。解析。错误 在同样 被解析的文件寻的目录。 唯一明显的句法错误能被查出 在解析期间。 复杂句法错误和逻辑错误能被发现只在期间 统治施行。 如此, 他们不会被采伐入httpd 。ini 。 它是推荐检查 一个新规则与 正则表达式测试工具 在投入规则之前入 配置文件。
RewriteCond 方针
正则匹配快代理句法: RewriteCond TestVerb CondPattern [ 旗子]
RewriteCond 方针定义一个规则情况。 在a 之前 RewriteRule 或 RewriteHeader 或 RewriteProxy 方针与一个或更多 RewriteCond 方针。 情况影响只下在规则后 (RewriteRule 、RewriteHeader 或RewriteProxy) 。 因而他们有效地一定对这个规则。 一个规则以情况将被运用只如果它将匹配测试串和所有它的区域情况 将匹配他们的测试串。
TestVerb
指定将被匹配反对正则表达式的动词。
TestVerb= (URL | 方法| 版本| HTTPHeaderName: | %ServerVariable) 那里:
URL - 回归请求URI 客户请求如所描述 RFC 2068 年(HTTP 1 。1);
方法 - 回归客户请求HTTP 方法(选择, 得到, 头、岗位, 被投入, 删除或踪影);
版本 - 回归HTTP 版本;
HTTPHeaderName - 指定的HTTP 倒栽跳水的回归价值。 HTTPHeaderName 可能是任一个合法的HTTP 倒栽跳水名字。 倒栽跳水名字 如果包括落后的冒号":". 如果指
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论