2010-01-04 6 views

Répondre

2

Vous obtiendrez le statut 200 si la page d'erreur a été la réelle demande (à savoir la page d'erreur est demandée directement par la barre d'adresse du navigateur, un signet, un redirigent en PHP, etc.). Vous obtiendrez le statut 404 si la page d'erreur a été renvoyée par le serveur Web lui-même lorsqu'il existe un moyen de demande invalide, ou lorsqu'il est inclus dynamiquement par PHP avec header("HTTP/1.1 404 Not Found");. Dans le serveur HTTP Apache, les emplacements des pages d'erreur personnalisées peuvent être configurés quelque part dans httpd.conf.

+0

merci pour les informations détaillées. qu'est-ce qui est si mal à propos de ça? il redirige vers 404 de toute façon .. je ne comprends pas le point. –

+0

Vous ne devez pas rediriger. Il en résultera 200. Je pense que votre problème majeur est que vous ne comprenez pas comment fonctionne HTTP. – BalusC

5

Je suppose que vous utilisez ErrorDocument avec une URL absolue comme:

ErrorDocument 404 http://example.com/err404.html 

Dans ce cas, le serveur répond avec une redirection 302 avec http://example.com/err404.html comme emplacement. Si cette URL est alors demandée, votre serveur envoie le code d'état 200 comme vous l'avez expérimenté.

Essayez juste un chemin d'URL absolue à la place:

ErrorDocument 404 /err404.html 
+0

oui, bien devinez que vous avez :) j'avais http://www.blabla.com/err404.html url. Je viens de modifier comme vous l'avez dit, comment puis-je contrôler si tout va bien maintenant? où puis-je voir cette erreur 200OK msg? dans firebug? ou autre chose? merci –

+0

+1 pour la conjecture. @artmania: il suffit de demander une URL non existante et de vérifier les en-têtes de réponse. – BalusC

+0

@artmania: Si votre site est en ligne, vous pouvez utiliser http://web-sniffer.net – Gumbo

Questions connexes