在我运行的网站上,我将404和500错误映射为重定向到最终用户的自定义错误页面;在我的web.config中使用以下代码:
...
...
<system.web>
<customErrors defaultRedirect="/404/default.aspx" mode="RemoteOnly">
<error statusCode="404" redirect="/404/default.aspx" />
</customErrors>
...
...
但是,我有一个我不想重定向的特定页面;运行状况检查页面以确保站点100%正常运行。我尝试使用web.config中的以下代码设置特定于位置的自定义错误处理程序:
...
...
</system.web>
<location path="health.aspx">
<system.web>
<customErrors defaultRedirect="" mode="RemoteOnly"></customErrors>
</system.web>
</location>
...
...
然而,它似乎不起作用。当我将health.aspx重命名为badhealth.aspx等其他内容时,请发出请求,我希望通过黄屏死机页面获得通用的404错误。同样,通过故意更改代码以引发错误,我应该通过YSOD页面获得500错误。在这两种情况下,我最终被重定向到我们的自定义404页面,然后获得YSOD。想法?
非常感谢任何帮助。
谢谢大家, - 弗兰克
答案 0 :(得分:5)
没关系,我们解决了这个问题。看来你有一个特定于位置的customError指令;如果将defaultRedirect保留为“”,则默认为站点范围的defaultRedirect URL。
解决方案只是关闭此特定路径的CustomError处理,如下所示:
<system.web>
<customErrors defaultRedirect="/404/default.aspx" mode="RemoteOnly">
<error statusCode="404" redirect="/404/default.aspx" />
</customErrors>
</system.web>
<location path="health.aspx">
<system.web>
<customErrors mode="Off"/>
</system.web>
</location>
非常感谢,何塞。