最近翻译的ISAPI_Rewrite中文手册

第一章:软件介绍

ISAPI_Rewrite 是一款适用于 IIS 的功能强大的基于正则表达式的 URL 处理模块。它兼容 Apache mod_rewrite 的语法,从而使仅仅复制 .htaccess 文件就把配置从 appach 移植到 IIS 中或者从 IIS 移值到 appach 中变成可能。请参阅 3.2 兼容性图表这一节。

ISAPI_Rewrite 最重要的功能:

Ÿ    ISAPI_Rewrite 提供了和 Apach mod_rewrite 相同的句法和行为,使仅仅拷贝 .htaccess 文件就完成配置移植成为功能。 ( 要想阅读更多关于与 mod_rewrite 的兼容性,请参阅 3.2兼容性图表 这一节。 )

Ÿ    正则表达式支持灵活而强大的配置。

Ÿ    极速而且容易升级的纯 C++ 代码。

Ÿ    真正的分布式配置:实时监控服务器全局级别、虚拟主机(网站)级别、目录级别的 .htaccess 文件。

Ÿ    隔离性:用户级配置只影响本地用户环境,从而使 ISAPI_Rewrite 成为 Web 主机提供商的理想解决方案。

重要的应用示例:

Ÿ    搜索引擎优化。 详细

Ÿ    一台 Web 服务器的代理内容经过另一台 web 服务器。 详细

Ÿ    防止内容被吸血(盗链)。 示例

Ÿ    阻断特定主机、反向链接或者烦人的搜索机器人。 示例

Ÿ    内容商议:向不同的语言用户或者不同的浏览器用户提供不同的文件。 示例

Ÿ    为群集式服务器架构模拟负载均衡。 示例

定价资料

Ÿ    45 天的试用期

Ÿ    单机版 99 美元

Ÿ    ISAPI_Rewrite 精简版是免费的。在 这里 可以看到受限的细节说明。

Ÿ    大宗采购可议折扣。


第二章:安装和反安装

2.1 系统要求

ISAPI_Rewrite 可以被安装在下列操作系统中:

Ÿ    Windows 2000 with IIS 5

Ÿ    Windows XP with IIS 5.1

Ÿ    Windows Server 2003 with IIS 6.0

Ÿ    Windows Vista with IIS 7.0

Ÿ    Windows Server 2008 with IIS 7.0

在安装 ISAPI_Rewrite 之前,操作系统中必须先安装 IIS

32 位和 64 位的 Windows 版本都是支持的,但是你必须下载 32 位版和 64 位版两种不同的安装包。 Windows Installer 2.0 必须运行安装程序。你可以从微软的网站上下载到最新版本的 Windows Installer

Windows Vista Windows Server 2008 上安装 ISAPI_Rewrite ,还必须先安装下面两个模块 ( 默认情况下这两个模块是不安装的 )

Ÿ    ISAPI 过滤器  

Ÿ    ISAPI 扩展

2.2 安装程序

在运行安装包之前请先阅读 系统要求 部分。下载并安装某个版本的 ISAPI_Rewrite.msi ,依照安装向导的说明操作。安装过程是自动的,并有自我描述。 ISAPI_Rewrite 在自动安装过程中必须重启 IIS 。下列服务必须被重启: IISADMIN W3SVC 。不需要手工把任何 ISAPI 筛选器或者扩展加入到网站或者全局列表中。它能够在安装和配置过程中自动完成。

命令行安装

ISAPI_Rewrite 也能够通过命令行进行后台安装。请使用以下命令行语法来安装:

msiexec /i ISAPI_Rewrite3.msi /qn AcceptEULA=Yes REGISTRATIONCODE=Code REGISTRATIO

NNAME=Name

命令行来后台反安装 ISAPI_Rewrite 请使用下面的语法:

msiexec /x ISAPI_Rewrite3.msi /qn KEEPUSERFILES=Yes

2.3 手工安装

要手工安装 ISAPI_Rewrite 的话,你必须下载不同的手工安装包包含所有必须的文件。 ISAPI_Rewrite 精简版不支持手工安装。你可以安装全部功能或者仅仅安装它们中的一部分。

手工安装包包含下列文件:

Ÿ    ISAPI_Rewrite.dll - 这是 ISAPI 筛选器本身。

Ÿ    ISAPI_RewriteProxy.dll - 这是为代理操作的 ISAPI 扩展模块必不可少的。

Ÿ    license.rtf - EULA 的产品许可证。

Ÿ    ISAPI_Rewrite.chm - . 文档文件。

Ÿ    httpd.conf - 全局配置文件示例。

安装 ISAPI_Rewrite ,首先你必须在你在 IIS 系统中注册 ISAPI_Rewrite.dll 作为 ISAPI 筛选器。按默认 ISAPI_Rewrite.dll 文件是用来作为全局 ISAPI 筛选器的。而且它还能够被安装到某个特定的网站里,你需要记住在同一时间段里只有一个 ISAPI_Rewrite.dll 实例能够加载到一个 IIS 工作进程里,这意味着如果你决定把 ISAPI_Rewrite ISAPI 筛选器单独地安装到每个站点里的话,你必须把这些站点切换高隔离模式,从而为这些网站产生独立的工作进程。 如果你需要在每个站点上分别安装 ISAPI_Rewrite ,我们通常会建议改为在整个 IIS 上全局地安装它。

Window 2000,Window XP Windows Server 2003 中注册 ISAPI 筛选器,无论是整个 IIS 服务器要用它还是个别 WEB 网站要用它,都要用 IIS MMC 管理单元来把 ISAPI_Rewrite.dll 添到 ISAPI 筛选器列表。在 Windows Vista Windows Server 2008 中首先你需要安装可选 IIS 组件:万维网服务、应用程序开发功能、 ISAPI 筛选器。

如果你需要代理服务器功能,你还需要将 ISAPI_RewriteProxy.dll 注册为 ISAPI 扩展来侍服文件扩展名“ *. rwhlp ”。在不同的 IIS 版本中要求不同的操作。请参阅你管理的 IIS 版本的文档来了解如何注册一个新的 ISAPI 扩展并把它映射到 IIS 系统的文件扩展名上。在 Windows Vista windows server 2008 首先必须安装可选的 IIS 组件:万组网服务、应用程序开发功能、 ISAPI 筛选器。使用短路径名( 8.3 模式)作为 ISAPI_RewriteProxy.dll 的模块路径,如果路径里有一个空格字符, IIS 载入这个模块时将失败。

httpd.conf 文件放在 ISAPI_Rewrite.dll 文件的同一目录下并编辑它。

把下列两行内容放到 httpd.conf 文件中以注册 ISAPI_Rewrite 产品:

RegistrationName=Your registration name

RegistrationCode=REG-CODE-PROVIDED-FROM-HELICON

依照“ 运行 ISAPI_Rewrite的权限需求 ”这一部分的说明来检查文件系统权限。

2.4 反安装

反安装程序会删除所有安装程序所生成的文件、从管理元库中注销筛选器,并删除所有由安装程序所添加的其它管理元库变化。如果用户决定在反安装过程中保留用户文件的话,下列用户数据文件在反安装后会被留下来。

文件名

说明

Program Files/Helicon/ISAPI_Rewrite/httpd.conf

用户规则的主配置文件

Program Files/Helicon/ISAPI_Rewrite/error.log

包含错误日志的文件

Program Files/Helicon/ISAPI_Rewrite/rewrite.log

包含重写日志的文件

.htaccess (various folders)

用户创建的含有规则的配置文件

删除用户创建的文件 的选项在将反安装过程中提供给用户。如果启用这个选项则卸载程序也将删除位于 Program Files 文件夹里用户创建的文件。 .htaccess 文件不会被删除。

要用命令行后台卸载 ISAPI_Rewrite ,请使用下面的语法:

msiexec /x ISAPI_Rewrite3.msi /qn KEEPUSERFILES=Yes

2.5 运行 ISAPI_Rewrite 的权限需求

在一个干净的默认 Windows 系统上自动安装 ISAPI_Rewrite 不要求任何权限调整。但是一些其它产品比如说 Plesk IIS 锁定工具的安装,等等,可能收紧服务器的安全性,并妨碍 ISAPI_Rewrite 的正常运行。 下面是 ISAPI_Rewrite 的权限需求的列表单子:

Windows 2000 Windows XP Windows 2003 IIS5 兼容模式下,筛选器运行在 System 帐户下的 inetinfo.exe 进程中。那个 system 帐户至少得被授予放置 ISAPI_Rewrite 安装文件的那个文件夹的“读取 ”和“目录浏览 ”的权限。我们还建议给予 system 帐号对这个文件夹的一般修改权。这将允许生成一些包含解析或者其它错误的文件。 system 帐号还必须在任何包含了 .htaccess 文件的网站文件夹里同样被授予这些权限,否则 ISAPI_Rewrite 将不能加载并监视它。

请稍留意 ISAPI_Rewrite 安装目录上的任何一点拒绝 权限设置,因为在 Windows 操作系统中,拒绝 权限优先于任何允许 权限记录。

Windows 2003 的天然 IIS 模式 (WPI 模式 ) 以及 Windows Server 2008 中,无论是筛选器还是代理服务都运行在每个网站相应的运行程序池的 w3p.exe 工作进程中,每个应用程序池都可以使用它自己的定制来配置,这可能使权限设置成了一种复杂的工作。然而,在一个正确的 IIS 配置中,每个使用中的定制必须是 IIS_WPG 组的一个成员。因此, IIS_WPG 组可以被用来代替 System 帐号去分配前面所写的权限需求。

Windows Vista 中权限配置是和 Windows 2003 的配置差不多的,只是它没有 IIW_WPG 组。所以,所有的 WPI 帐号(一般 Network Service 是它的惟一帐号)都必须授予上述必需权限。

此外,为了让代理服务功能能工作,你必须在网站属性或者运行代理服务的 web 应用程序的属性中给予一个“纯脚本”的执行权限。

2.6 MSI 的自定义行为

 

自定义行为

说明

WiseAltStartup
自动智能启动

为运行在延时模式中的自定义行为保存属性的当前状态。
使用一个可执行文件 (dll)
发生在:安装、反安装。

WiseCleanup
智能清理

这个行为被调用来清理上一个自定义行为所遗留下的临时文件
使用一个可执行文件 (dll)
发生在:安装、反安装。

WiseStartup
智能启动

这个行为使调用一个 .dll 文件或者提取必要 Wisescript.exe 文件和 .dll 文件的行为可以传递参数。
使用一个可执行文件 (dll)
发生在 : 安装、反安装

WiseUpgradeCheck
智能可选择地升级

这个行为被调用来解决当 Windows 安装程序运行时不检测应用程序的早期版本的问题。
使用一个可执行文件 (dll)
发生在:安装。

WiseUpgradeCheckEx
智能预选升级

添加这个行为用来解决当 Windows 安装程序运行时不检测应用程序的早期版本的问题。
使用一个可执行文件 (dll)
发生在:安装。

WiseGetIISVersion
智能获得 IIS 版本

对主要的 IIS 版本设置属性 (IISVERSION).
使用一个可执行文件
(dll)
发生在:安装。

RegisterFilterInMetabase
管理元库 中注册筛选器

这个行为添加一个命名为 ISAPI_Rewrite3 的全局 ISAPI 筛选器到 IIS 管理元库里
IIS5, IIS6
管理元库 :  IIS:/LM/W3SVC/Filters/ add key ISAPI_Rewrite3
IIS:/LM/W3SVC/Filters/FilterLoadOrder append "ISAPI_Rewrite3"
使用一个可执行文件
(dll)
发生在:安装。

RemoveFilterFromMetabase
管理元库中 删除筛选器

这个行为从 IIS 管理元库里移除了名为 ISAPI_Rewrite3 的全局 ISAPI 筛选器。
IIS5, IIS6
管理元库 :  IIS://localhost/W3SVC/LM/W3SVC/Filters/ delete key ISAPI_Rewrite3
IIS:/LM/W3SVC/Filters/FilterLoadOrder remove"ISAPI_Rewrite3"
使用一个可执行文件
(dll)
发生在:反安装、回滚。

AddApplicationExtension
添加应用程序扩展

只用于 Windows 2003 机器添加 ISAPI_RewriteProxy.dll ISAPI 扩展中,并使 Web 服务器扩展名列表中的这个 ISAPI 扩展名可用。
IIS6
管理元库 :  IIS:/LM/W3SVC/
adds entry to the
在管理元库属性 WebSvcExtRestrictionList 中增加 metabase property "ISAPI_Rewrite3 proxy" 条目;

在管理元库属性 ApplicationDependencies 增加 "ISAPI_Rewrite3 proxy;ISAPI_Rewrite3" 条目;

使用一个可执行文件 (dll)
发生在:安装。

RemoveApplicationExtension
删除应用程序扩展

只用于 Windows 2003 ISAPI 扩展中删除 ISAPI_RewriteProxy.dll ,并从 web 服务器扩展名列表中删除这个 ISAPI 扩展名。
IIS6
管理元库 :  IIS:/LM/W3SVC/
1.
从管理元库属性 WebSvcExtRestrictionList 中删除 "ISAPI_Rewrite3 proxy" 条目;

2.
从管理元库属性 ApplicationDependencies 中删除 "ISAPI_Rewrite3 proxy;ISAPI_Rewrite3" 条目;
使用一个可执行文件 (dll)
发生在:反安装、回滚。

RegisterExtensionInScriptMap
在脚本映射中注册扩展

IIS 管理员库中将 ISAPI_RewriteProxy.dl 注册为 ISAPI 扩展来处理 *.rwhlp 文件扩展名
IIS5,IIS6
管理元库 :  IIS://LM/W3SVC/
使用一个可执行文件
(dll)
发生在:安装。

RemoveExtensionFromScriptMap
从脚本映射中删除扩展

IIS 管理元库中移除作为 ISAPI 扩展、用于处理 *.rwhlp 文件扩展名的 ISAPI_Rewrite.dll 的注册信息
IIS5, IIS6
管理元库 :  IIS://LM/W3SVC/
使用一个可执行文件
(dll)
发生在:反安装、回滚。

GetServisesStatus
获得服务状态

保存 IISADMIN W2WC NNTP SMTP FTP 服务的当前状态
创建 msi 属性 : [SERVICES_STATUS]
使用一个可执行文件
(dll)
发生在 : 安装、反安装。

StartServicesEx
按预设开启服务

根据状态预设来启动 ISADMIN W2WC NNTP SMTP FTP 服务
使用 msi 属性 : [SERVICES_STATUS]
使用一个可执行文件
(dll)
发生在 : 安装、反安装。

SaveProductID
保存产品 ID

如果要注册产品的话,保存 REGISTRATIONNAME REGISTRATIONCODE 的属性值
使用 msi 属性 : [REGISTRATIONNAME] , [REGISTRATIONCODE];
使用文件
: [INSTALLDIR]/ISAPI_Rewrite3/httpd.conf
使用一个可执行文件
(dll)
发生在 : 安装。

Check32bitMode
检测 32 位模式

64 位系统中检查 32 IIS 兼容模式是否可用,从而安装正确的 ISAPI 筛选器版本。 IIS6, IIS7
使用管理元库路径
: IIS://LM/W3SVC/AppPools  property Enable32bitAppOnWin64;
使用 msi 属性
:[ENABLE32BITAPPONWIN64]
检查一个 32 位的应用程序是否能运行在一台安装了 64 位版本的 windows 的电脑上。

使用 javascript 脚本
发生在 : 安装。

CheckIISModules
检测 IIS 模块

IIS7 的机器上检查是否需要安装 IsapiFilterModule IsapiModule 模块
IIS7
管理元库路径:
<system.webServer>
<globalModules>
 
<add name="IsapiModule" image="%windir%/System32/inetsrv/isapi.dll" />
<add name="IsapiFilterModule" image="%windir%/System32/inetsrv/filter.dll" />
</globalModules>
</system.webServer>
使用 javascript 脚本
发生在 : 安装。

AddGlobalIsapiFilter
添加全局 ISAPI 筛选器

只用于 IIS7 的机器。这个行为会在 IIS 管理元库里添加一个命名为 ISAPI_Rewrite3 的全局 ISAPI_Rewrite 筛选器
IIS7
的管理元库路径:
<configuration>
<system.webServer>
<isapiFilters>
<filters>
<filter name="ISAPI_Rewrite3" path="C:/Program Files/Helicon/ISAPI_Rewrite3/ISAPI_Rewrite.dll" enabled="true" enableCache="false">
</filter>
</filters>
</isapiFilters>
</system.webServer>
</configuration>
使用 JavaScript 脚本
发生在:安装。

DeleteGlobalIsapiFilter
删除全局 ISAPI 过滤器

只用于 IIS7 的机器,这个行为会从 IIS 管理元库中删除名为 ISAPI_Rewrite3 的全局 ISAPI 筛选器。
IIS7
的管理元库路径:
<configuration>
<system.webServer>
<isapiFilters>
<filters>
<filter name="ISAPI_Rewrite3" path="C:/Program Files/Helicon/ISAPI_Rewrite3/ISAPI_Rewrite.dll" enabled="true" enableCache="false" >
</filter>
</filters>
</isapiFilters>
</system.webServer>
</configuration>
使用 JavaScript 脚本
发生在:反安装、回滚。

AddIsapiCgiRestriction
添加 ISAPI CGI 约束

Only for IIS7 machines register ISAPI_RewriteProxy.dll as ISAPI extension in IIS metabase.
只用于 IIS7 的机器,在 IIS 管理元库中将 ISAPI_RewriteProxy.dl ISAPI 扩展

IIS7
管理元库路径:
<configuration>
<system.webServer>
<security>
<isapiCgiRestriction>
<add path="C:/Program Files/Helicon/ISAPI_Rewrite3/ISAPI_RewriteProxy.dll" allowed="true" description="Helicon Proxy" />
</isapiCgiRestriction>
</security>
</system.webServer>
</configuration>
使用 JavaScript 脚本
发生在:安装。

DeleteIsapiCgiRestriction
删除 ISAPI CGI 约束

只用于 IIS7 的机器,从 IIS 管理元库中删除用作 ISAPI 扩展的 ISAPI_RewriteProxy.dll
IIS7
管理元库路径:
<configuration>
<system.webServer>
<security>
<isapiCgiRestriction>
<add path="C:/Program Files/Helicon/ISAPI_Rewrite3/ISAPI_RewriteProxy.dll" allowed="true" description="Helicon Proxy" />
</isapiCgiRestriction>
</security>
使用 JavaScript 脚本

发生在:反安装、回滚。

AddScriptMap
添加脚本映射

只用于 IIS7 的机器,在 IIS 管理元库中将 ISAPI_RewriteProxy.dll 注册为 ISAPI 扩展用于处理 *.rwhlp 文件扩展名。
IIS7
管理元库路径:
<configuration>
<system.webServer>
<handlers>
<add name="Helicon Proxy" path="*.rwhlp" verb="*" modules="IsapiModule" scriptProcessor="C:/Program
Files/Helicon/ISAPI_Rewrite3/ISAPI_RewriteProxy.dll" resourceType="Unspecified"/>
</handlers>
</system.webServer>
</configuration>
使用 JavaScript 脚本

发生在:安装。

DeleteScriptMap
删除脚本映射

只用于 IIS7 的机器,从 IIS 管理元库里去除用作 ISAPI 扩展以处理 *.rwhlp 文件扩展名的 ISAPI_RewriteProxy.dll 的注册
IIS7
管理元库路径:
<configuration>
<system.webServer>
<handlers>
<add name="Helicon Proxy" path="*.rwhlp" verb="*" modules="IsapiModule" scriptProcessor="C:/Program
Files/Helicon/ISAPI_Rewrite3/ISAPI_RewriteProxy.dll" resourceType="Unspecified"/>
</handlers>
</system.webServer>
</configuration>
使用 JavaScript 脚本
发生在:反安装、回滚。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值