IIS6.0设置了404错误,对htm和aspx、asp都好用,对html不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS6.0设置了404错误,对htm和aspx、asp都好用,对html不起作用相关的知识,希望对你有一定的参考价值。

IIS里设置了/404.htm,随便访问.htm/.aspx/.asp都可以显示我自定义的404
但是访问html文件就时不行,提示网络错误,不跳404.。。。。。
哪位大侠指导下?

参考技术A 你是在IIS的网站=》右键=》属性=》自定义错误
里修改了404类型指向的文件吗?
如果是,那么这是对任意文件类型的404错误都有效的
除非你的站点程序有其它特殊设置
参考技术B 不论是aspx,ascx.asmx,ashx,都会交给C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll处理,但html就不会了,也就是说你的web.config不会对html进行控制,本回答被提问者采纳 参考技术C 据我所知,只有动态页面才可以实用404页面,静态的html页面肯定不会出现404错误追问

是么?但是htm的可以显示404啊 html咋就不能了?

为啥 IIS 有时会显示错误页面的 aspx 源代码?

【中文标题】为啥 IIS 有时会显示错误页面的 aspx 源代码?【英文标题】:Why does IIS sometimes displaying the aspx source code for an error page?为什么 IIS 有时会显示错误页面的 aspx 源代码? 【发布时间】:2021-06-15 04:37:42 【问题描述】:

我有一个在 IIS 上托管的 asp.net Web 表单网站。除了错误页面外,一切都按预期工作。我在 web.config 中有如下自定义错误页面设置:

<customErrors mode="On" defaultRedirect="error.aspx">
    <error statusCode="400" redirect="error.aspx" />
    <error statusCode="401" redirect="error.aspx" />
    <error statusCode="403" redirect="error.aspx" />
    <error statusCode="404" redirect="error.aspx" />
    <error statusCode="500" redirect="error.aspx" />
</customErrors>

如果我访问 mysite.com/x.aspx(x.aspx 不存在),它会正确显示错误页面。但是,如果我访问 mysite.com/x(x 不存在),aspx 源代码会显示在浏览器中(以“

关于为什么会发生这种情况以及如何解决的任何想法?

【问题讨论】:

【参考方案1】:

ASP.net 没有收到那些“无扩展”请求,而是由静态文件处理程序处理。

基本上,您需要安装 URLReWrite 模块并将无扩展名的请求重写/重定向到您的 error.aspx 页面。各种examples on SO for handling extensionless URLs

【讨论】:

【参考方案2】:

尝试在您的 web.conifg 文件中使用以下代码:

<configuration>
   <system.web>
      <customErrors defaultRedirect="error.aspx" mode="RemoteOnly">
         <error statusCode="404" redirect="error.aspx"/>
      </customErrors>
   </system.web>
</configuration>

确保 IIS 管理器中的错误页面 -> 功能委派设置为读/写。

【讨论】:

以上是关于IIS6.0设置了404错误,对htm和aspx、asp都好用,对html不起作用的主要内容,如果未能解决你的问题,请参考以下文章

iis6.0无法访问asp ,但可以访问html,系统是2000,提示错误时http404,请哪位高手帮忙解决。

如何设置404页面,404错误页面自定义方法

WCF 不在 IIS 6.0 下运行

IIS6.0中部署webapi 提示404

HTACCESS 错误文档 404 /404.htm 不工作

MapRequestHandler - 在 IIS 8.0 中从 .aspx 路由 .html 时出现 404.0 错误