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

  • Post author:
  • Post category:其他


原文链接:

http://www.cnblogs.com/diose/archive/2013/02/21/2920324.html

最近在搞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,将托管管道模式设置为经典模式。

重新启动 网站  查看