windows 2003 IIS 6 urlrewritenet

来源:互联网 发布:phpstorm使用教程知乎 编辑:程序博客网 时间:2024/06/14 08:27

IIS 的url跳转功能确实要比apache复杂的多。

(原文链接 http://ddbiz.com/?p=200)

在开发中,开发环境下的 visual studio 下的 urlrewritenet 调试很轻松,但是这也给我们造成了一个困扰:

webdev 是在开发调试过程中,他对所有的请求都要进行处理,比如css, image/*, html, 而在实际的运行环境中,比如 windows 2003/iis6,它恰恰是不对 .html, .css , images等文件进行handle的。不过我们还是可以通过如下设置完成类似的功能:

 

iis6 下扩展 文件名

 

选择网站的 属性 -> 主目录

-> 配置 (①)

-> 通配符应用程序映射(执行顺序)(②)

-> 可执行文件(插入③): c:/windows/microsoft.net/framework/v2.0.50727/aspnet_isapi.dll

即可。

根据msdn 的说明:

 

添加/编辑应用程序扩展名映射(用于通配符应用程序映射)
使用该对话框()可以添加或修改为每个请求执行的通配符脚本映射 ISAPI 应用程序,而不管文件扩展名如何。使用通配符脚本映射与使用 ISAPI 筛选器类似,它们的不同在于通配符脚本映射可以安装在虚拟目录上也可以安装在网站上,可以访问请求的主体,不是事件驱动的,并且 ISAPI 扩展 API 比 ISAPI 筛选器 API 具有更多的功能。如果虚拟目录不包含其自己的通配符脚本映射,则它只从其父虚拟目录或网站中继承通配符脚本映射。

可执行文件
键入可执行文件的名称(.exe 或 .dll)。可执行文件必须位于 Web
服务器的本地硬盘中。
浏览
单击此处可以在 Web 服务器的本地硬盘上定位 ISAPI 应用程序。
确认文件是否存在
选择“确认文件是否存在”可以指示 Web 服务器验证请求的脚本文件是否存在,并确保发出请求的用户有该脚本文件的访问权限。如果脚本不存在或用户没有权限,则浏览器将收到相应的警告消息,并且不调用脚本引擎。此选项可能对于映射到非 CGI 可执行文件的脚本非常有用,这些可执行文件(如 Perl 解释器)在脚本不能访问时不发送 CGI 响应。因为该脚本必须打开两次,一次是由服务器打开,一次是由脚本引擎打开,所以启用该选项可能影响到性能。

 

通配符脚本映射可以安装在虚拟目录上也可以安装在网站上,可以访问请求的主体

这意味着如果你的应用需要在某些托管的服务器上的话,可以正确发挥作用:因为大部分的托管服务器是不能添加针对某个文件的映射的。

(原文链接 http://ddbiz.com/?p=200)

原创粉丝点击