【发布时间】:2015-08-16 02:21:16
【问题描述】:
嗯,大约一周以来,我一直在网上搜索,尝试自己的解决方案并测试结果。但不幸的是,我最终没有得到所需要的令人满意的结果。
问题详情:
- 使用 IIS 7.5
问题是;使用Response.Redirect(); 方法或在“Web.Config”文件中声明customErrors 和httpErrors 部分,发送到浏览器的第一个状态代码是302,然后是404。
使用Server.Transfer(); 方法,甚至使用System.Reflection 修改Page_Load(); 中的QueryString[] 集合,这会将404 状态代码直接发送到浏览器,但“页面名称”(URL)不是我的自定义 404 页面的名称,而是请求的不存在的页面 URL,这是一个大问题(这可以使用 Google Chrome 开发人员工具 > 网络窗格进行检查),我已尝试通过更改 URL 中的 URL 来解决此问题使用 JavaScript window.history.pushState(); 的浏览器地址栏,但这并没有什么不同。
我的问题是:
在 ASP.NET Web Forms 4.5 中自定义 404 页面的最佳实践是什么;直接发送 404 HTTP 状态代码作为第一个响应,在地址栏中保留 404 页面 URL(没有重定向和 JavaScript)?
注意:如果我缺少任何其他信息,以便 Google 检测和识别最佳 404 页面,请列出。
谢谢。
【问题讨论】:
标签: c# asp.net iis-7.5 http-status-code-404 urlrewriter.net