ASP.NET 4.5 Web Forms自定义404页面最佳实践

ASP.NET 4.5 Web Forms Custom 404 Page Best Practice

好吧,大约一个星期以来,我一直在网上搜索,尝试自己的解决方案并测试结果。但不幸的是,我没有得到所需的令人满意的结果。

问题详情:

问题在于;使用 Response.Redirect(); 方法或在 "Web.Config" 文件中声明 customErrorshttpErrors 部分,发送到浏览器的第一个状态代码是 302,然后是 404。

使用 Server.Transfer(); 方法,甚至使用 System.Reflection 修改 Page_Load(); 中的 QueryString[] 集合,这会发送 404 状态代码直接到浏览器但是 "Page Name" (URL) 不是我自定义的 404 页面的名称,而是请求的不存在的页面 URL,这是一个大问题(这可以使用检查Google Chrome 开发人员工具 > 网络窗格),我已经尝试通过使用 JavaScript window.history.pushState(); 更改浏览器地址栏中的 URL 来解决此问题但这并没有什么不同。

我的问题是:

ASP.NET Web Forms 4.5 中自定义 404 页面的最佳做法是什么;直接发送 404 HTTP 状态代码作为第一个响应,在地址栏中保留 404 页面 URL(没有重定向,也没有 JavaScript)?

注意:如果我缺少任何其他信息,无法让 Google 检测和识别最佳 404 页面,请列出。

谢谢。

我已经通过使用URL Rewrite Module 2.0 for IIS 7.5解决了这个问题,使用这个之后,404页面被测试人员成功识别。

我想通了,404页面地址没必要保持不变,可能是不存在页面的URL

感谢您的帮助。