PC6下载站

分类分类

ISAPI_Rewrite3使用教程

关注+2011-01-07作者:清晨

3 页 MSI的自定义行为自定义行为

2.6MSI的自定义行为自定义行为
 

 

自定义行为 说明
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>





使用javascript脚本
发生在: 安装。
AddGlobalIsapiFilter
添加全局ISAPI筛选器
只用于IIS7的机器。这个行为会在IIS管理元库里添加一个命名为ISAPI_Rewrite3的全局ISAPI_Rewrite筛选器
IIS7的管理元库路径:

<system.webServer>








使用JavaScript脚本
发生在:安装。
DeleteGlobalIsapiFilter
删除全局ISAPI过滤器
只用于IIS7的机器,这个行为会从IIS管理元库中删除名为ISAPI_Rewrite3的全局ISAPI筛选器。
IIS7的管理元库路径:

<system.webServer>








使用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管理元库路径:

<system.webServer>







使用JavaScript脚本
发生在:安装。
DeleteIsapiCgiRestriction
删除ISAPI CGI约束
只用于IIS7的机器,从IIS管理元库中删除用作ISAPI扩展的ISAPI_RewriteProxy.dll。
IIS7 管理元库路径:

<system.webServer>





使用JavaScript脚本
发生在:反安装、回滚。
AddScriptMap
添加脚本映射
只用于IIS7的机器,在IIS管理元库中将ISAPI_RewriteProxy.dll注册为ISAPI扩展用于处理*.rwhlp文件扩展名。
IIS7管理元库路径:

<system.webServer>





使用JavaScript脚本
发生在:安装。
DeleteScriptMap
删除脚本映射
只用于IIS7的机器,从IIS管理元库里去除用作ISAPI扩展以处理*.rwhlp文件扩展名的ISAPI_RewriteProxy.dll的注册
IIS7管理元库路径:

<system.webServer>





使用JavaScript脚本
发生在:反安装、回滚。

3.1基本概念

ISAPI_Rewrite提供了一个基于规则的重写引擎能飞速重写被请求的URL。它支持几乎无限量的规则和几乎无限量的附加规则条件来提供真正灵活和有效的URL处理机制。可以根据HTTP头、服务器变量、被请求的URL本身以及其它不同的条件的测试结果来对URL作出处理。
URL数据处理是用一个文本配置文件来定制的,内含各种指令设置。配置分几种等级。首先是全局(服务器范围的)配置指令,放置在ISAPI_Rewrite安装目录里的一个名为httpd.conf的文件里。那里还有若干个标签可以封装应用到特殊位置的指令:以及。最后ISAPI_Rewrite支持可以放在任何网站目录里的.htaccess文件,那些文件中的规则可以应用到该位置以及它的子目录中。所有的配置文件在每次修改文件后都会被自动重载。允许用第三方程序和脚本来修改文件。
在很多情况下ISAPI_Rewrite是用来重写URL的。除了重写之外,ISAPI_REWRITE能够修改、生成、删除任何其它客户端Request中的HTTP头。模块操作可以载入改写、代理、重定向或者阻断原始客户端到服务器的请求。
Rewriting可能使服务器在得到了一个客户端的源请求时用一个新的URL继续请求处理。新的URL可以包括查询串部分(跟在问号后面),也可以指向任何一个完全的静态文件或者脚本(例如asp)、或者程序(例如.exe),等等。对用户和网站配置来说重写是彻底透明的。因为它Web应用程序收到请求之前在服务器内部执行。
Proxying使URL经过内部处理后指向另一台服务器,并很快传递到远程服务器上(换言之,规则处理在这里中止了)。远程服务器的响应很快被传回客户端。代理服务器要求你指定完整的有效URL,以协议、包括主机名开头等等。ISAPI_Rewrite使用ISAPI扩展来处理代理请求,你可以在“代理服务器配置”这一章里读到更多信息。
Redirection将发送一个带有重定向指令的即时响应(HTTP响应码为302或者说301),将网址设置为一个新的位置。您可以在重定向指令里使用绝对URL格式(这是RFC2616所要求的)将请求重定向到不同的主机、端口和协议。如果此信息被忽略, ISAPI_Rewrite将自动照当前的协议、服务器名称和目录位置提供URL。重定向指令总是导致重写引擎中止处理后面的规则序列。
每个规则按它在配置文件中出现的顺序来应用。目录级配置文件从父路径开始一个接一个地处理,来自于全局配置文件的规则最先适用。
在修改URL之前ISAPI_Rewrite会保存原URL到Http头,命名为X-Rewrite-URL。然后它能够在脚本中作为HTTP_X_REWRITE_URL服务器变量取回。因为在IIS里,系统变量名不能被修改,所以ISAPI_Rewrite不能提供与Apache兼容的变量名REQUEST_URI。如果你的应用程序的设计要依赖于REQUEST_URI变量,你必须修改它,用HTTP_X_REWRITE_URL变量来代替。下面是一个PHP代码补丁的示例:
if (isset($_SERVER['HTTP_X_REWRITE_URL'])){$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];}
后面跟有RewriteRule(或者RewriteProxy)指令的多重RewriteCond指令只影响单个规则。如果一些条件需要被用于多个规则,必须重复写这些条件指令以应用到每条规则上。
展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消