«

»

Sep
25

WordPress ist einfach mal unfähig.

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

  1. Sven sagt:

    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.

  2. ralf sagt:

    Sven said:

    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.

    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.

Hinterlasse eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht.

Sie können diese HTML-Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

What is 2 + 3 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)