在ASP.Net网站上实现自定义错误页面

Yeo*_*ave 22 asp.net web-config custom-error-pages custom-errors

我有一个ASP.Net网站,我想使用自定义错误页面.我将以下代码放在我的web.config中

<customErrors mode="On" defaultRedirect="~/error.aspx">
    <error statusCode="404" redirect="~/error.aspx" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)

问题是当我转到不存在的URL仍然使用IIS管理器中指定的404错误页面时.

问题:如何使用我创建的error.aspx页面?为什么IIS管理器中的设置会覆盖web.config?

小智 29

尝试这种方式,差不多......但这就是我所做的和工作.

<configuration>
    <system.web>
       <customErrors mode="On" defaultRedirect="apperror.aspx">
          <error statusCode="404" redirect="404.aspx" />
          <error statusCode="500" redirect="500.aspx" />
       </customErrors>
    </system.web>
</configuration> 
Run Code Online (Sandbox Code Playgroud)

或者如果紧急需要,尝试从IIS设置更改404错误页面.


Joh*_*hnB 7

有两种方法可以为ASP.NET站点配置自定义错误页面:

  1. Internet信息服务(IIS)管理器(GUI)
  2. web.config文件

本文介绍了如何执行每项操作:

您的error.aspx页面未显示的原因可能是因为您的web.config中有错误.试试这个:

<configuration>
   <system.web>
      <customErrors defaultRedirect="error.aspx" mode="RemoteOnly">
         <error statusCode="404" redirect="error.aspx"/>
      </customErrors>
   </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

您可能需要确保Error PagesIIS管理器中 - 功能委派设置为读/写:

IIS管理器:功能委派面板

此外,这个答案可以帮助您配置web.config文件: