日期:2014-05-17  浏览次数:20398 次

asp.net自定义404错误页只对aspx文件有效,是不是啊?
在web.config中自定义错误页如下

<customErrors  mode="On" defaultRedirect="error.aspx">
   <error  statusCode="404" redirect="404.aspx" />
</customErrors>


当用户访问后缀为.aspx的网页时,如果不存在,会自动调用404.aspx

而用户访问的非.aspx后缀的网页时,如访问.asp类型的后缀时,web.config错误设置就没有效了。是不是啊?

这是我测试得出的结论,劳烦网友赐教!!

------解决方案--------------------
是的,当访问不是aspx页面的时候不存在则会跳转到默认的404页面,可以设置iis,*.html由aspnet_isapi.dll 来处理 就可以了
------解决方案--------------------
之所以aspx有用,而html没用

是因为iis里的配置里设定了*.aspx,*.config等文件由aspnet_isapi.dll来处理

而html默认是不处理,直接发送给客户端

如果你希望html也由aspnet_isapi.dll处理,可以去设置

但是这样,html的响应速度也会变慢,因为每个html都要多一道处理手续

很多网站用生成静态页,就是为了防止aspx的多的手续

  

设置方法:

进入管理工具里的“Internet 信息服务(IIS)管理器”,在网站上按右键=》属性=》主目录=》配置=》点击映射里的添加,

可执行文件输入:c:/windows/microsoft.net/framework/v2.0.50727/aspnet_isapi.dll

扩展名输入:.html,然后确定即可。

参考:
http://blog.csdn.net/wyfde123/article/details/6161723