Ich hätte nicht vermutet das WordPress kein HTTP versteht aber dem ist wohl so.
Eine Anfrage nach einer nicht vorhandenen Ressource liefert keinen 404-Fehler sondern eine ganz normale 200-alles-Ok Antwort.
Toll!
$ lynx -dump -mime_header http://ralf.stormbind.net/2008/01/02/404-test/ | head -n5 HTTP/1.1 200 OK Date: Tue, 25 Sep 2007 00:21:47 GMT Server: Apache X-Pingback: http://ralf.stormbind.net/xmlrpc.php Status: 404 Not Found
Update:
Ich hab mal was gebastelt womit man sich via PHP – HTTP Response Codes generieren lassen kann.
Das hier beschriebene Problem liegt somit definitiv an WordPress und nicht am Webserver oä.
Update 2007-11-07:
Lustig wie, und ob überhaupt, Suchmaschinen diese Seite indizieren:
2 Kommentare
Sven sagt:
September 27, 2007 von 23:04 (UTC 2 )
Urgs. Ich wollte das grade garnicht richtig glauben, habe es dann noch mit einer anderen WP Installation probiert und dann auch noch mit externen WP Versionen die mit anderem Webserver betrieben werden.
Resultat: WP handelt korrekt. Bei nicht gefundenen Seiten wird ja nicht nichts zurueck gegeben und auch keine generischer 404 Seite des Webservers sondern eine generierte Seite von WP die also generiert wird. Entsprechend kann der Webserver eine Webseite zurueck liefern und der Code 200 ist voellig ok.
Auf Apache Systemen wird offensichtlich zusaetzlich der Status: 404 gesetzt. Bei lighthttpd ist das scheinbar nicht der Fall wobei ich nicht weiss in wie fern das standardisiert ist.
ralf sagt:
September 28, 2007 von 00:16 (UTC 2 )
Sven said:
Also, WP sendet “Status: code” – normalerweise wird das vom Webserver aufgenommen und eine entsprechende HTTP Response erzeugt. Aber, so meine Vermutung, schickt irgendwas in WordPress vorher Inhalt so dass PHP gezwungen ist einen Status Code für den Webserver zusetzen. Da aber vermutlich noch nicht klar ist das später “Status: 400″ kommt wirds mit 200 ausgeliefert.
So oder so ähnlich könnte es sein.