自定义错误页面无法在生产中使用

时间:2016-03-11 08:00:16

标签: asp.net asp.net-mvc custom-error-pages

我在ASP中实现了自定义404页面。 NET MVC 5应用程序,起初我已在我的localhost上测试过它,它运行得很好。但当我将我的设置移动到发布配置,并尝试在生产中测试它时,自定义404页面消失了,有默认的mvc错误页面。我做错了什么?

的Web.config

<system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="404" />
        <error statusCode="404" responseMode="ExecuteURL" path="/Error/Index" />
    </httpErrors>
</system.webServer>

控制器

public class ErrorController : BaseController
{
    public ActionResult Index(string id)
    {
        ViewModel vm = new ViewModel();

        Response.StatusCode = 404;

        return View("~/Views/..../Index.cshtml", vm);
    }
}

enter image description here

2 个答案:

答案 0 :(得分:1)

我记得它必须在<system.web>下设置。这应该是这样的。

 <customErrors mode="Off" defaultRedirect="/Error/Index">
  <error statusCode="404" redirect="/Error/Index" />
</customErrors>

因此,设置mode="Off"mode="On"会打开和关闭自定义错误页面。

答案 1 :(得分:0)

尝试将此添加到配置文件

<customErrors mode ="on" defaultRedirect="">

</customErrors>