iis5.1/6.0/7.0+ 配置url重写 无扩展名伪静态

最近在搞url重写 遇到iis 无扩展名及html映射问题 供后人查看

因为考虑功能比较多(URLRewriter组件有些功能满足不了要求)所以就用了HttpModule方法重写

iis5.1中 添加应用程序映射 .* (注意 这种方法只有5.1中可以)到 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 确定文件是否存在去掉 即可

技术分享

 

iis6.0中 搜了大量文章 都不可以 ,终于看到一篇文章 在通配符应用程序映射插入isapi.dll文件映射 如图:

技术分享

 

技术分享

重新启动iis 目录映射就起作用了(据说很耗服务器资源)

技术分享

 

 

下面来说 iis7.0+以上的 版本 这个比较繁琐 但是很简单 不像 iis6.0我找了很久才找到方法


  

1) 首先新建一个应用程序池,名称任意,比如:Myweb,托管管道模式先暂时设置为集成模式;

 

 技术分享

 

2) 部署好站点,并将此站点的应用程序池设置为Myweb

 

 技术分享

 

 

3) 选中站点,切换到功能试图,找到 "服务器组件"-> "处理程序映射",双击之后,在打开窗口右侧的操作栏目下做如下设置:

 

"添加脚本映射":请求路径 .html ,可执行文件选择 C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll ,名称随意;

 

 技术分享

 

 


"添加通配符脚本映射":请求路径 * ,可执行文件为:C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,名称随意;

 

 

 

 技术分享

 

 


6)"添加托管处理程序":请求路径 * ,可执行文件:System.Web.UI.PageHandlerFactory,名称随意;;

 

 

 

 技术分享

 

 

4) 打开站点切换到功能试图,找到 "服务器组件"->"模块",双击之后,在打开窗口右侧的操作栏目中,点击"添加托管模块",类型

设置自己的HttpModel 模块,并且把"仅针对向asp.net 应用程序或托管处理程序发出请求调用" 选中;

 

 技术分享

 

 

8)最后,找到我们第一步建立的应用程序池Myweb,将托管管道模式设置为经典模式。

 

重新启动 网站  查看

 技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。