这是一个多Sitecore的问题一个HTTP规范问题。
我在Sitecore的建立一个404错误页面:
<setting name="ItemNotFoundUrl" value="/404.aspx" />
所以,当一个用户访问一个不存在的页面(如www.example.com/xyz)他们重定向到我的自定义404错误页面(如www.example.com/404.aspx)。
Sitecore的进行使用如以下的萤火虫屏幕截图302中的重定向:
这是个问题吗? IE浏览器将谷歌和其他搜索引擎索引我的404页的URL www.example.com/xyz? 有问题的网站最初建立返回从404页“200 OK”响应(坏!)等搜索引擎已经索引网站的404页面时,他们已经找到了一个破碎的链接进入该网站。
我认为,因为302仅仅是一个重定向,在最后的状态码(自定义404)的URL会是什么任何客户端应该承担起适用于初始(导向)的网址。
如果这不是一个问题,什么是规范的规范/文档,使得清楚了吗?
这是一个问题,确实如此。 因为谷歌现在认为404.aspx
页面不存在,并认为不存在的项目被暂时重定向。
我想出了一个解决方案,并在这里的博客上讲述它 。
它的作用主要是确定该项目是不存在的(通过管道处理器),然后通过请求它使用的WebRequest检索404页的内容,并返回内容以404个状态码的浏览器。
以及什么范尼曾建议,有一个由克恩Herskind博客文章是使用Sitecore的/ IIS的方法,而无需编写任何额外的代码。
前面已经提到正确的HTTP响应头是至关重要的,不仅是搜索引擎优化,但许多其他的用例。
有一个叫“Sitecore的错误管理器”,让您的Sitecore的安装与正确的404头回应,并配有一对夫妇的其他功能,如配置任何其他错误响应Sitecore的共享源代码模块,即使是Sitecore的媒体库(即PDF文件)多语言支持等。
Sitecore的市场: http://marketplace.sitecore.net/en/Modules/Sitecore_Error_Manager.aspx
Github上: https://github.com/unic/SitecoreErrorManager
文章来源: Sitecore uses “302 found” to redirect users to my custom 404 page - is that legitimate?