在ASP.Net网站上实现自定义错误页面
我有一个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?
尝试这种方式,几乎相同..但这就是我所做的工作。
<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错误页面(如果需要的话)。
如果我在
<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>
有2种方式来配置自定义错误页的ASP.NET网站:
- Internet信息服务(IIS)管理器(GUI)
- 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
- 功能委派设置为读/写:
而且,这个答案可以帮助你配置web.config文件:
我在Server 2003上使用IIS 6。 – Yeodave 2010-01-29 11:13:23