404.html,ASP.NET MVC根目录

时间:2014-12-03 13:18:21

标签: asp.net asp.net-mvc asp.net-mvc-5

我在MVC中找到了几个错误页面的解决方案。大多数解决方案都基于路由和单独的错误控制器。但是我需要一个最简单的基于html的错误页面,根本没有预处理。

有没有办法绕过路由文件提供404.html,403.html和500.html文件作为静态内容?

我已将这三个html文件放在我的~/Views/Shared/和以下的web.config中,即应用程序根目录下的那个:

<system.web>
  <customErrors mode="Off" />
    <error redirect="~/500.html" statusCode="500" />
    <error redirect="~/404.html" statusCode="404" />
    <error redirect="~/403.html" statusCode="403" />
  </customErrors>
</system.web>

但是它会在本地的第三行抛出错误,而且从远程它会抛出500个内部错误,并带有默认的IIS主题。

哪个目录被视为提供静态HTML文件的根目录?

2 个答案:

答案 0 :(得分:2)

CustomErrors模式应为“On”或“RemoteOnly”,并且不应关闭CustomErrors标记 - 正如@Preyash Desia所述

<customErrors mode="On">

答案 1 :(得分:1)

    <system.web>
  <customErrors mode="Off">
    <error redirect="~/500.html" statusCode="500" />
    <error redirect="~/404.html" statusCode="404" />
    <error redirect="~/403.html" statusCode="403" />
  </customErrors>
</system.web>

你有额外的&#34; /&#34;在第2行的末尾,它的无效xml;去掉它。