【发布时间】:2011-05-05 01:47:26
【问题描述】:
我已按如下方式配置了一个 ASP.NET 应用程序:
<customErrors mode="RemoteOnly" defaultRedirect="~/Error.aspx"/>
当我浏览到 ~/Error.aspx 文件时,服务器返回 200 并呈现页面。但是,如果用户被重定向到错误页面,则会在路径中附加一个查询字符串:
/Error.aspx?aspxerrorpath=/Test.aspx
但无论何时使用此查询字符串,服务器都不会呈现错误页面,而是使用服务器的自定义错误页面返回 404,而不是 Error.aspx
为什么 web.config 设置不导致 ~/Error.aspx 被渲染?
【问题讨论】:
-
究竟附加了什么?生成的 URL 是什么?
-
@Oded 我用生成的 URL 编辑了问题,包括 ASP.NET 在出现错误时重定向用户时添加的查询字符串。在此示例中,Test.aspx 将是导致异常的页面,例如 DivideByZeroException。
-
我也有同样的问题。它不会发生在我的本地计算机上的 IIS 5.1 上,但会发生在我的托管服务器上。其他查询字符串不会导致问题,并且 = 符号之后的内容无关紧要(可以完全空白)。事实上,你甚至可以输入不带等号的 aspxerrorpath,它会起作用。
标签: asp.net