好吧,大约一周以来,我一直在网上搜索,尝试自己的解决方案并测试结果。但不幸的是,我最终没有得到所需的令人满意的结果。
问题详情:
- 使用 IIS 7.5
问题是;使用Response.Redirect();
方法或在“Web.Config”文件中声明customErrors
和httpErrors
部分,发送到浏览器的第一个状态代码是 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 页面,请列出。
谢谢。