Domanda

In breve, Magento restituisce lo stato 200 per la pagina 404 Not Found CMS, per quello che sembra essere una configurazione piuttosto standard:

entrare descrizione dell'immagine qui

Tutto funziona bene quando l'URL viene modificato in cms/index/defaultNoRoute, pagina predefinita Not Found è caricato con lo stato 404.

Inoltre, assolutamente tutto funziona bene su una copia del sito web su un server diverso. Il che mi avrebbe portato a sospettare la configurazione di Apache. Non so se quello di guardare fuori per.

Ecco le intestazioni di risposta per entrambe le azioni defaultNoRoute e 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

Chiunque può mi punto nella giusta direzione? Cin cin.

È stato utile?

Soluzione

Nella mia esperienza questo è più spesso causata da integrazioni CMS scritti male. Non è raro per un'integrazione CMS per riscrivere l'azione noRoute alla cattura quando Magento avrebbe emesso un 404, il contenuto afferrare da un CMS (se disponibile) e poi servire in su nella sezione contenuti della pagina.

Che cosa va male, però, è quando queste integrazioni personalizzate poi non riuscire a rilevare quando anche loro non hanno un contenuto per l'URL nel CMS e indiscriminatamente inviare un codice di 200 risposta sia con contenuti vuota o una pagina di contenuto 404 servito da il CMS (ma con un codice di risposta 200).

In caso di nessun contenuto, in questo tipo di integrazione, il trucco è quello di inoltrare la richiesta al difetto Nessuna azione percorso e / o cadere attraverso e lasciare che la maniglia metodo di controllo genitore la risposta 404.

Avete un modulo di integrazione CMS di qualche tipo installato? Se è così, vorrei suggerire isolandolo per provare uno o di escluderla come la causa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top