问题将mvc中的404错误重定向到NotFound页面

时间:2013-08-21 07:37:16

标签: asp.net-mvc http-status-code-404

尝试使用 ELMAH 在我的mvc应用程序中实现错误页面。

错误日志记录工作正常。但是如果我的控制器中的404 NotFound方法未被调用

的web.config

<customErrors mode="On">
      <error statusCode="500" redirect="Error" />
      <error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>

错误控制器

public class ErrorController : Controller
    {
public ActionResult Error()
{
  return View();
}

public ActionResult NotFound()
 {
 return View();
 }
 }

以下带URL的方案

http://localhost/Error/sfdsfdf ==&gt;正常工作并重定向到404页面

但如果我给予

http://localhost/something

收到运行时错误,我的网址为

http://localhost:61553/Error?aspxerrorpath=/something

我理解在重定向时这是一个错误,但我不确定我错过了什么。

我试图不使用NotFound Nugget!

由于

1 个答案:

答案 0 :(得分:0)

您还应该在web.config中添加错误代码400 - 错误请求和403 - 禁止

    <customErrors mode="On">
          <error statusCode="500" redirect="Error" />
          <error statusCode="400" redirect="~/Error/NotFound" />
          <error statusCode="403" redirect="~/Error/NotFound" />
          <error statusCode="404" redirect="~/Error/NotFound" />
    </customErrors>