我在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);
}
}
答案 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>