Sitecore的使用“302找到”将用户重定向到我的自定义404页 - 是合法的?(Sitecor

2019-07-18 01:58发布

这是一个多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会是什么任何客户端应该承担起适用于初始(导向)的网址。

如果这不是一个问题,什么是规范的规范/文档,使得清楚了吗?

Answer 1:

这是一个问题,确实如此。 因为谷歌现在认为404.aspx页面不存在,并认为不存在的项目被暂时重定向。

我想出了一个解决方案,并在这里的博客上讲述它 。

它的作用主要是确定该项目是不存在的(通过管道处理器),然后通过请求它使用的WebRequest检索404页的内容,并返回内容以404个状态码的浏览器。



Answer 2:

以及什么范尼曾建议,有一个由克恩Herskind博客文章是使用Sitecore的/ IIS的方法,而无需编写任何额外的代码。



Answer 3:

前面已经提到正确的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?