首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示自定义错误页而不是iis 403错误页?

如何显示自定义错误页而不是iis 403错误页?
EN

Stack Overflow用户
提问于 2019-09-20 20:07:21
回答 2查看 3K关注 0票数 0

我的web.config:

代码语言:javascript
复制
 <customErrors mode="Off" redirectMode="ResponseRewrite" defaultRedirect="~/Pages/Error/DefaultError.aspx">
      <error statusCode="404" redirect="~/Pages/Error/Page404.aspx" />
      <error statusCode="500" redirect="~/Pages/Error/DefaultError.aspx" />
    </customErrors>

<httpErrors existingResponse="Replace" defaultResponseMode="ExecuteURL" errorMode="Custom"> //also used other options for existingResponse
    <remove statusCode="403"/>
    <error statusCode="403" path="~/Pages/Error/PI403.aspx" responseMode="ExecuteURL"/>
</httpErrors>

下面是我在global.asax.cs文件中的Application_error方法:

代码语言:javascript
复制
Server.ClearError(); //clear the error so we can continue onwards

var errorPage = "~/Pages/Error/DefaultError.aspx";
var httpException = ex as HttpException;
if (httpException != null && httpException.GetHttpCode() == (int)HttpStatusCode.NotFound)
    {
        errorPage = "~/Pages/Error/Page404.aspx";
    }
Response.Redirect(errorPage);

我在项目中有日志文件,但这个文件只使用日志。如果我使用myURL/Logs浏览器链接,我会得到IIS 403.14错误页。如果我编写myURL/asdeds,我会得到我的自定义错误页面(在我的项目中没有类似的东西)。因为403异常不会触发Application_Error。我想要显示所有异常的自定义错误页面。当我将myURL/Logs写入URL部分时,我应该会看到我的自定义错误页面。

我还在Application_BeginRequest中设置了TrySkipIisCustomError属性

HttpContext.Current.Response.TrySkipIisCustomErrors = true;

EN

Stack Overflow用户

发布于 2020-11-18 21:57:12

首先,您必须转到IIS

  1. 选择如下配置编辑器:

  1. 在打开的页面中,打开部分组合框,然后选择httpErrors

  1. 在打开的页面中,解锁defaultPath

  1. 对IIS

上的应用程序重复步骤1、2和3

  1. 转到应用程序

的错误页

  1. 选择403错误并进行编辑。在编辑动作的页面中,您可以选择Respond with a 302 redirect,然后在绝对URL文本框中键入自定义错误页面地址。

不要忘记,此操作是在服务器上执行的。现在,如果一个请求被发送到服务器(smp:https :// yoursite.com/scripts)并且你得到了错误302,你想要的页面就会被打开。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58028102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档