CoolURI 404 HTTP Header Status kommt nicht

  • Eazy Eazy
    R2-D2
    0 x
    67 Beiträge
    0 Hilfreiche Beiträge
    12. 12. 2008, 13:07

    Moin,

    benutze CoolURI, läuft an sich sehr gut. Damit nicht nur die hässliche Zeile "<h1>Page not found!</h1" erscheint, habe ich mir eine einzelne freistehende Seite im T3-Baum angelegt, auf die verwiesen wird, wenn ein 404 auftritt. Dort wird dann erzählt, dass die Seite nicht gefunden werden konnte usw. Klappt wunderbar.

    Das einzige, was nicht läuft ist der verdammte HTTP Header! Immer, immer wieder wird "200 OK" ausgegeben. Ich habe div. Foren etc durchsucht und verschiedenste Lösungen erfolglos ausprobiert. Zum Beispiel

    cooluriconf.xml angepasst auf:
    [HTML]<pagenotfound>
    <status>HTTP/1.0 404 Not Found</status>
    <behavior type="redirect"><![CDATA[fileadmin/scripts/404notfound.php]]></behavior>
    </pagenotfound>[/HTML]

    .htaccess angepasst und "Errordocument"-Zeilen eingebaut (sollte doch eigentlich egal sein, weil ja cooluri die sache in die hand nimmt)

    php-skript mit gesonderter header-anweisung eingebaut

    auch im installtool/localconf.php "All Configuration" [pageNotFound_handling_statheader] auf "HTTP/1.0 404 Not Found" gesetzt usw.

    tausendmal caches gelöscht und pipapo...

    es läuft einfach nicht...

    Hat jemand noch einen Rat, wo der Fehler stecken könnte?

    Besten Dank und Grüße,

    Felix


  • 1
  • InforMedic InforMedi...
    Jedi-Meister
    0 x
    394 Beiträge
    1 Hilfreiche Beiträge
    07. 03. 2009, 05:44

    ? Dein Code funktioniert doch super :p

    Bis auf eine kleine Änderung ;)
    [HTML]<behavior type="redirect"><![CDATA[404.html]]></behavior>[/HTML]

    Bin zuvor aber nach folgendem Vorgegangen: [url]http://typo3.org/development/articles/improved-404-handling/[/url]

    • - Im Install Tool pageNotFoundHandling = 404.html setzen
      - Innerhalb der root eine versteckte Seite 404 anlegen
      - Und zuletzt deine CoolUri Anpassung (.html suffix sollte auch mit angehängt werden ;-)

    Thats it. Std. t3 .htaccess ohne weitere Anpassungen

    Gruß
    Info

  • Scimidr Scimidr
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    18. 03. 2009, 10:17

    Hallo zusammen,

    ich habe im Moment dasselbe Problem: Der HTTP Status Code ist [b]immer[/b] "200 OK", wenn in der Cooluriconf.xml ein Redirect eingetragen ist:

    [HTML]<pagenotfound>
    <status>HTTP/1.1 404 Not Found</status>
    <behavior type="redirect"><![CDATA[/404/]]></behavior>
    </pagenotfound>
    [/HTML]

    Wenn ich eine Mitteilung ausgeben lasse, ist alles prima. Sprich dann (und nur dann) kommt auch der 404-Status-Code:

    [HTML]<pagenotfound>
    <status>HTTP/1.1 404 Not Found</status>
    <behavior type="message"><![CDATA[<h1>Seite nicht gefunden!</h1>]]></behavior>
    </pagenotfound>
    [/HTML]

    Allerdings sieht eine solche Mitteilung nicht so gut aus ;)

    (Geprüft habe ich das mit den "einschlägigen" Test-Seiten, denen man eine URL zum Prüfen gibt.)

    In der localconf.php stehen natürlich auch die notwendigen Einträge drin. Aber das ist wahrscheinlich egal, da ja Colluri alles "regelt".

    Ich hab' eigentlich mittlerweile alles probiert. Ich bin die Einstellungen in TYPO3 und in der cooluriconf.xml immer wieder durchgegangen. Ich denke, ein Fehler ist da nicht drin...

    Ich glaube langsam, daß es sich hier um einen Bug in Cooluri handelt:

    Die 404-Seite, die in TYPO3 angelegt ist, ist zwar versteckt (im Menü), aber ansonsten normal aufrufbar, wenn man die URL kennt. Wenn man also auf diese Seite weiterleitet, ist es eigentlich logisch, daß ein "200 OK" gesendet wird. Die Seite ist ja auch "OK".

    Da von TYPO3 aus die Seite normal aufgerufen wird, und dabei auch einen Header "200 OK" verpasst bekommt, kann ich wohl für Cooluri einen Statuscode meiner Wahl eintragen, und es wird dennoch immer ein "200 OK" kommen.

    Beim Generieren einer Mitteilung von Cooluri aus wird eine (spartanische) Seite von Cooluri generiert. Und daher kann dann auch der eingetragene Status-Code eingebaut werden.

    Soweit so schlecht... und nun? Das kann es doch nicht sein, oder?

    Wieso gibt Cooluri die Verwaltung des PageNotFoundHandlings nicht einfach an TYPO3 weiter/zurück? [b]Das[/b] geht ja ebenfalls...

    Hat jemand eine Idee dazu? Sonst müsste ich wohl wieder auf Realurl wechseln. Da geht's ;)

    Vormittägliche Grüße
    John

  • norderik norderik
    Typ im Roten Hemd
    0 x
    2 Beiträge
    0 Hilfreiche Beiträge
    10. 11. 2009, 11:47

    Eine relativ brauchbare Möglichkeit bietet folgende Konfiguration:
    <pagenotfound>
    <status>HTTP/1.0 404 Not Found</status>
    <behavior type="page">error404.html</behavior>
    </pagenotfound>

    Man erzeugt in TYPO3 eine Fehlerseite (am besten mit Suchformular), erzeugt eine statische html-Seite mit dem Linuxkommando wget http://www.meinedomain.de/?id=<seitenid>; auf der Kommandozeile, benennt diese in error404.html um, legt sie in den TYPO3-root und bekommt eine ansehnliche Fehlerseite mit korrektem 404-Header. Sollte sich etwas an dem Menü oder dem Seitentemplate generell ändern, muß man natürlich diese Seite neu erzeugen.

  • 1