调试环境:Win2003+IIS6+.net framework1.1问题描述:使用IHttpModule接口写了个1.1版本的url重写组件。demo下载1)当在iis中添加通配符应用程序映射到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll,重写的url是没有问题的。但是访问asp页面时会出现
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法提供此类型的页。 
说明: 由于已明确禁止所请求的页类型,无法对该类型的页提供服务。扩展名“.asp”可能不正确。 请检查以下的 URL 并确保其拼写正确。 请求的 URL: /read.asp
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2407; ASP.NET 版本:1.1.4322.2407 
的错误2)如果取消通配符应用程序映射这个项,访问asp没问题了,但是重写的url不能访问了,提示404错误,找不到页面3)已经在iis中设置过默认内容文档和通配符应用程序映射了,但是如果未在规则文件rule.xml中添加
<rule pattern="^/$" url="index.aspx"/>
<rule pattern="^/([a-z]+)/?$" url="/{0}/index.aspx"/>

这样的规则,就会出现404错误,找不到文档。
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法找到资源。 
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。 请求的 URL: /
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2407; ASP.NET 版本:1.1.4322.2407 

如果取消通配符应用程序映射,就能使用默认文档了。是不是我的这个重写组件不能使用默认文档??
网上找了下说是iis的处理流程的问题。需要IHttpHandler来重写错误页面什么的请net_lover大哥或者各路大大解答小弟的疑惑~~在此谢过了demo下载

解决方案 »

  1.   

    net_lover老大搞定的话这个还有个200分http://topic.csdn.net/u/20081103/15/2de9537d-c58a-4d8d-ac61-da035a6e9e86.html
      

  2.   

    我从前也遇到过这个问题,我是一个文本编辑器因为使用了通配符映射导致这个编辑器不能正常显示了,后来URL重写组件中设置了一些过滤目录就解决了
      

  3.   

    我能得双份分不?
    楼主,我帮你看了,刚开始运行报错,然后将.html和.asp映射到由C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll执行,注意取消“确认文件是否存在”的勾选框,问题成功解决。 
      

  4.   

    已经没有.net 1.1环境了,你排除掉.asp扩展名不就可以了吗?怎么写通配符呢
      

  5.   

    回老大,怎么个排除,不知道怎么排除哇
    今天早上把framework换为2.0的,上面的问题都没了,汗-_-!!!!!难道是1.1版本在IHttpMoudle实现上的bug吗????希望路过知道能告之小弟到底是什么原因吗?不行就只能当作散分了
      

  6.   

    只是ASP后缀名有问题吗?先添加个其他的后缀名,比如AX试试是否可以正常显示呢?
      

  7.   


    楼上的能不能提供些代码参考下如果同时存在aspx和asp时,如何重写aspx页面,asp直接访问,不需要重写
      

  8.   

    或者问题改为
    那个能提供1.1版本的重写demo来看看,能直接访问aspaspx需要重写
    还是不行只能用2.0的了,当散分了。。