我的设置:
情景:
运行时错误
描述:服务器上发生了应用程序错误。此应用程序的当前自定义错误设置可防止查看应用程序错误的详细信息。
还有更多的文字,但我相信你以前都见过它。此时,URL为:
http://localhost/bluheron/Error.aspx?aspxerrorpath=/bluheron
所以,看起来它重定向到我的错误页面(Error.aspx),但我没有看到我的错误文本(“发生了错误。请再试一次。”)。相反,我得到了一个带有其他文本的时髦网址,包括如何设置我的web.config文件的说明,顺便提一下,包含这个:
<customErrors mode="On" defaultRedirect="Error.aspx" />
它位于默认位置,位于 system.web 部分内,位于 configuation 部分。
顺便说一句,我的Error.aspx页面位于我的应用程序的根目录中。
有人可以解释一下这个花哨的网址是什么以及为什么我的简单错误页面没有显示?
谢谢, 杰
答案 0 :(得分:1)
错误重定向正是通常使用customErrors发生的事情......但是,您可以禁用此行为并保留原始网址(不会发送302将您的用户重定向到错误页面的网址)。这将执行/发送错误页面的输出:
将redirectMode="ResponseRewrite"
添加到customErrors声明:
<customErrors mode="On" defaultRedirect="Error.aspx" redirectMode="ResponseRewrite" />
如果您仍然遇到相同的行为,整个应用程序出现问题,您应该关闭customErrors并查看问题所在(这会发生在无效的web.config和许多其他情况下)。