大家好,又见面了,我是你们的朋友全栈君。
一般对于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概念相同 ),可以在这里修改
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160204.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...