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