调试环境:Win2003+IIS6+.net framework
1.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下载