出于某种原因,当我收到ASP.NET运行时错误时,它没有加载我的自定义错误页面
<customErrors mode="On" defaultRedirect="app_offline.htm" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="app_offline.htm"/>
<error statusCode="500" redirect="app_offline.htm"/>
</customErrors>
那是在我的web.config中。
我仍然得到这个,但它没有加载我的错误.htm页面:
Server Error in '/' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>
答案 0 :(得分:7)
我非常确定app_offline.htm是ASP.NET中的保留文件名,如果存在于服务器上,它将始终提供。
尝试将其重命名为error.htm并更新<customErrors />
块以匹配。
答案 1 :(得分:1)
我怀疑发生的事情是ASP.NET无法找到您的自定义错误页面。错误页面文件的路径必须是相对的或绝对的。所以:
<customErrors mode="On" defaultRedirect="~/app_offline.htm" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/app_offline.htm"/>
<error statusCode="500" redirect="~/app_offline.htm"/>
</customErrors>
或者:
<customErrors mode="On" defaultRedirect="http://mysite.com/app_offline.htm" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="http://mysite.com/app_offline.htm"/>
<error statusCode="500" redirect="http://mysite.com/app_offline.htm"/>
</customErrors>
应该解决你的问题。
答案 2 :(得分:0)
如果设置mode =“Off”,是否会获得实际错误的详细信息?如果您仍然获得相同的默认错误页面,您可能会在此帖子中找到解决方案:
答案 3 :(得分:0)
问题是我的网站在.NET 3.5下运行时是4.0应用程序
答案 4 :(得分:0)