ISAPI_Rewrite 3.1 教程中文版
技术  /  管理员 发布于 7年前   242
第一章:软件介绍
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也能够通过命令行进行后台安装。请使用以下命令行语法来安装:
文件名 | 说明 |
Program Files/Helicon/ISAPI_Rewrite/httpd.conf | 用户规则的主配置文件 |
Program Files/Helicon/ISAPI_Rewrite/error.log | 包含错误日志的文件 |
Program Files/Helicon/ISAPI_Rewrite/rewrite.log | 包含重写日志的文件 |
.htaccess (various folders) | 用户创建的含有规则的配置文件 |
自定义行为 | 说明 |
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脚本 发生在:反安装、回滚。 |
if (isset($_SERVER['HTTP_X_REWRITE_URL']))后面跟有RewriteRule(或者RewriteProxy)指令的多重RewriteCond指令只影响单个规则。如果一些条件需要被用于多个规则,必须重复写这些条件指令以应用到每条规则上。
{
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
}
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号