所以我有一个用C#编写的用于ASP.NET的网页,在某些情况下它会返回一个自定义错误。
例如,有一点可能是:
Response.StatusCode = 400;
Response.Status = "A long custom error message here.";
Response.Write(Resonse.Status);
当我在本地打开它(通过http://mymachinename/foo/bar.aspx)时,我看到了自定义错误消息。当我将它部署到远程服务器时,我只看到我的自定义错误消息被文本“错误请求”覆盖(这就是全部)。它必须是一些配置,但我找不到它。
答案 0 :(得分:3)
检查您是否在web.config中定义了httpErrors属性。
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
答案 1 :(得分:1)
服务器可以拥有自己的配置文件,其中包含您提到的错误代码。例如,编辑apache服务器上的.htaccess文件将允许您将自己的错误页面链接到异常,或者您可以自己写入标记以节省一些时间。
<强>更新强>
您也可以
Response.TrySkipIisCustomErrors
如果您使用的是IIS。
其他信息
http://blogs.iis.net/ksingla/archive/2008/02/18/what-to-expect-from-iis7-custom-error-module.aspx
答案 2 :(得分:0)
其他人提供的解决方案完全有效,但我认为您也可以从IIS管理器控制它,如果有一个定义的错误页面包含代码400,打开您的IIS管理器,转到.Net错误页面,看看对于错误代码400,单击右侧面板上的编辑功能设置,然后在打开的编辑错误页面设置窗口中选择关闭。