自定义错误页面内容无法正确显示

时间:2014-04-17 11:14:08

标签: c# asp.net custom-error-pages

我在web.config中指定了自定义错误页面,如此

<system.web>
   <customErrors mode="RemoteOnly" defaultRedirect="/Error.html" />
</system.web>

自定义错误页面及其内容正确显示。但是当网址以斜杠结尾时,会显示错误页面内容并且无法正确显示。

例如:
www.abc.com/product - &gt;错误页面内容正确显示
www.abc.com/product/ - &gt;错误页面内容未正确显示

提前致谢。

编辑:

当网址以&#34; /&#34;以外的任何其他特殊字符结尾时,网址会正确地重定向到Error.html,但网址以&#34; /&#34;结尾被视为项目文件夹,因此错误页面无法正确显示。如果我错了,请纠正我。 任何建议。

2 个答案:

答案 0 :(得分:1)

试试这个:

<customErrors mode="On" defaultRedirect="Error"></customErrors>

并在您的视图中显示 - &gt;共享文件夹名为“Error.cshtml”的视图

在View Error.cshtml中,在顶部添加以下行:

@model System.Web.Mvc.HandleErrorInfo

...your code.....

希望这会有所帮助

答案 1 :(得分:1)

当用户尝试浏览目录时,您希望重定向到错误页面。这通常是由服务器处理的HTTP错误,它是在ASP.NET处理之外处理的。

如果您使用的是IIS7 +,那么您可以从How to disable Directory Browse in Web.ConfigAsp.net - Web.Config - Custom Errors

一起采用这些解决方案

根据您的情况,您希望web.config中的阻止类似于:

<system.webServer>
  <directoryBrowse enabled="false" />
  <httpErrors errorMode="Custom">
    <remove statusCode="403"/>
    <error statusCode="403" path="~/Error.aspx" responseMode="Redirect"/>
  </httpErrors>
</system.webServer>