Pregunta

En resumen, Magento devuelve el estado 200 para la página de CMS Not Found 404, por lo que parece ser una configuración bastante estándar:

introducir descripción de la imagen aquí

Todo bien funciona cuando la URL se cambia a cms/index/defaultNoRoute, página por defecto no encontrada está cargado de estado 404.

Además, absolutamente todo funciona bien en una copia de la página web en un servidor diferente. Lo que me llevaría a sospechar de la configuración de Apache. No estoy seguro de que lo que a tener en cuenta.

Aquí están las cabeceras de respuesta para ambas acciones defaultNoRoute y noRoute:

$ curl -I http://www.server.com/cms/index/defaultNoRoute
HTTP/1.1 404 Not Found
Date: Thu, 25 Apr 2013 12:56:07 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Set-Cookie: frontend=332f53c81eee1f730f430c0f59e0dd83; expires=Thu, 25-Apr-2013 13:56:08 GMT; path=/; domain=www.server.com; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Status: 404 File not found
Vary: Accept-Encoding,User-Agent
Content-Type: text/html; charset=UTF-8

$ curl -I http://www.server.com/cms/index/noRoute
HTTP/1.1 200 OK
Date: Thu, 25 Apr 2013 12:56:11 GMT
Server: Apache
X-Powered-By: PHP/5.2.17
Set-Cookie: frontend=361b3804feaea66a6fcdf1aee048ce44; expires=Thu, 25-Apr-2013 13:56:12 GMT; path=/; domain=www.server.com; HttpOnly
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding,User-Agent
Content-Type: text/html

Cualquiera puede señalarme en la dirección correcta? Saludos.

¿Fue útil?

Solución

En mi experiencia, esto es más frecuentemente causada por las integraciones de CMS mal escritos. No es raro que una integración de CMS para reescribir la acción noRoute de captura cuando Magento emitiría un 404, el contenido de agarre de un CMS (si está disponible) y luego servir en la sección de contenido de la página.

¿Qué va mal, sin embargo, es cuando estas integraciones personalizadas entonces no detectar cuando también no tienen el contenido de la dirección URL en el CMS e indiscriminadamente envían un código de respuesta 200, ya sea con contenido en blanco o una página de contenido 404 sirve de el CMS (pero con un código de respuesta 200).

En el caso de ningún contenido, en este tipo de integración, el truco es simplemente enviar la solicitud a la forma predeterminada ninguna acción ruta y / o de la caída a través y deje que el mango método de controlador de matriz de la respuesta 404.

¿Tiene un módulo de integración de CMS instalado de algún tipo? Si es así, sugeriría aislándolo de probar uno o descartarlo como la causa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top