关于asp.net自定义错误页的问题——对于非aspx页面不显示自定义错误页

一般对于asp.net的网站,都通过配置webconfig的customErrors一节来自定义错误页。

 

<customErrors mode="RemoteOnly" defaultRedirect="~/error.html">      

</customErrors>

 

但是在网站中访问不存在的html页面或其他非aspx文件,不会乖乖的跳转到设定好的错误页去,而是显示默认的错误页面。

 

在网上搜索了一下:

之所以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,然后确定即可。

 

可以看出这种方式并不好,而且我在iis7中也没找到在哪更改。

再来看下iis7中网站的功能视图,可以看到有两个错误页的设置,一个是net错误页,一个是iis下面的错误页。

解决方法就是修改iis下面的错误页

双击“错误页”,以修改404错误页面为例

要是需要修改错误页显示的模式(和customErrors里面的mode概念相同),可以在这里修改

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值