我在 MVC4 项目中创建了一些自定义错误页面。我使用 Application_Error 和 HandleErrorAttribute 进行路由。
还,
它在我的开发计算机上运行良好,在 IIS 8.0 下
当我将项目发布到生产服务器时,在 IIS 7.5 下,它显示默认错误页面,而不是自定义页面。
我错过了什么?
我在 MVC4 项目中创建了一些自定义错误页面。我使用 Application_Error 和 HandleErrorAttribute 进行路由。
还,
它在我的开发计算机上运行良好,在 IIS 8.0 下
当我将项目发布到生产服务器时,在 IIS 7.5 下,它显示默认错误页面,而不是自定义页面。
我错过了什么?
<customErrors mode="On" defaultRedirect="~/Error/Error.html" redirectMode="ResponseRewrite">
<error redirect="~/Error/403.aspx" statusCode="403" />
<error redirect="~/Error/404.aspx" statusCode="404" />
<error redirect="~/Error/500.html" statusCode="500" />
</customErrors>
在根目录“错误”中创建页面 403.aspx
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>403 Not Found</title>
</head>
<body>
<%
Server.ClearError();
Response.Status = "403 - Forbidden: Access is denied.";
Response.StatusCode = 403;
%>
<div>
<h2>403 - Forbidden: Access is denied.</h2>
</div>
</body>
</html>
从操作方法中删除任何响应代码设置语句。
喜欢
Response.StatusCode = 404;
删除它并尝试一下。