0

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

问题详情:

  • 使用 IIS 7.5

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

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

我的问题是:

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

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

谢谢。

4

1 回答 1

0

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

我发现没有必要保持 404 页面地址不变,它可能是不存在页面的 URL。

感谢帮助。

于 2015-06-09T15:00:29.147 回答