2010-01-29 56 views
14

我有一个ASP.Net网站,我想使用自定义错误页面。我把下面的代码在我的web.config在ASP.Net网站上实现自定义错误页面

<customErrors mode="On" defaultRedirect="~/error.aspx"> 
    <error statusCode="404" redirect="~/error.aspx" /> 
</customErrors> 

的问题是,当我去了一个不存在仍然是使用在IIS管理器中指定的404错误页面的URL。

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

+0

我在Server 2003上使用IIS 6。 – Yeodave 2010-01-29 11:13:23

回答

23

尝试这种方式,几乎相同..但这就是我所做的工作。

<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> 

或尝试从IIS设置更改404错误页面(如果需要的话)。

+0

如果我在标记之外有标记,则会显示错误消息。 我必须在错误标签后加上标签,但它仍然不起作用。 – Yeodave 2010-01-29 12:15:32

1
<customErrors defaultRedirect="~/404.aspx" mode="On"> 
    <error statusCode="404" redirect="~/404.aspx"/> 
</customErrors> 

上面的代码只对“找不到网页错误-404”,如果文件扩展名是已知的(html的,的.aspx等)

在它旁边,你也已经为扩展不知道或客户错误不正确为

.aspwx.vivaldo。你必须在web.config

<httpErrors errorMode="Custom"> 
     <error statusCode="404" prefixLanguageFilePath="" path="/404.aspx"   responseMode="Redirect" /> 
</httpErrors> 
<modules runAllManagedModulesForAllRequests="true"/> 

添加httperrors设置,它必须是内<system.webServer></system.webServer>

4

有2种方式来配置自定义错误页的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> 

您可能需要确保在IIS管理器Error Pages - 功能委派设置为读/写

IIS Manager: Feature Delegation panel

而且,这个答案可以帮助你配置web.config文件: