[Typo3-german] 404-Handling, dynamische Fehlerseite und Logging der Header-Stati

Hartmut Plehn plehn at rz.uni-wuerzburg.de
Tue Sep 13 14:16:19 CEST 2005


Franz Koch wrote:

> Hi Liste,
> 
> ich setze mich gerade mit dem Errorhandling in Typo auseinander - finde
> jedoch keine Lösung die meinen Anforderungen entspricht.
> 
> Was ich habe:
> - Typo3 3.8
> - RealUrl
> - $TYPO3_CONF_VARS["FE"]['pageNotFound_handling_statheader'] = 'HTTP/1.0
> 404 Not Found';
> - $TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] = 'notfound.html';
> 
> Was passiert:
> Typo leitet brav auf die Seite 'notfound.html' (= index.php?id=notfound)
> weiter - spuckt ein Header:200 aus und im Logfile von Typo steht nur
> "notfound.html" (was ja auch stimmt) - nicht die verursachende Seite.
> 
> Was ich aber gerne hätte:
> Bei Eingabe von www.domain.de/gibtsnich/ soll Typo3 einen 404 liefern,
> diesen loggen damit ich das auswerten kann und nur den Inhalt von
> 'index.php?id=notfound' ausgeben (ggf. noch die bei READFILE verfügbaren
> Marker ersetzen).
> 
> Aber:
> $TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] =
> 'READFILE:http://www.domain.de/index.php?id=notfound';
> funktioniert leider nicht :( Und eine statische HTML-Seite möchte ich
> nicht als Fehlerseite angeben, da ich gerne auf der Fehlerseite
> Teilinhalte die von Typo kommen drauf hätte.
> 
> Hat jemand eine Lösung hierzu oder kann mir jemand sagen wie sich die
> redirects auf Suchmaschinen auswirken - werden die falschen URLs trotzdem
> indiziert?
> Hat das schon mal jemand über die USERFUNC versucht?
> Was sind euere Erfahrungen mit der Thematik? Oder mach ich mir darüber
> einfach nur zu viele Gedanken...
> 
Ich habe bei der Tycon3 dbzgl. einen Tipp von Oliver Thiele (von mittwald)
bekommen:

$TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] =
'USER_FUNCTION:fileadmin/scripts/pageNotFoundHandling.php:user_pageNotFound->pageNotFound';

Die Klasse sieht bei mir im Wesentlichen so aus:

<?php
class user_pageNotFound {
    function pageNotFound($param,$ref) {
        header("HTTP/1.0 404 Not Found");
        print "<html>\n<head>\n<title>404 Not found</title>\n";
        print "<meta http-equiv=\"refresh\"
CONTENT=\"0;URL=http://www.domain.de/index.php?id=notfound"\">\n";
        print "</head>\n<body>\n";
        print "<h1>HTTP/1.0 404 Not Found</h1>\n";
        print "</body>\n</html>\n";
    }
}
?>

D.h. es wird zuerst ein 404-Header zurückgeliefert und danach über meta ein
Redirect zur gewünschten Typo3-Seite erzeugt.

Ich hoffe, das hilft dir weiter.

-- 
Hartmut Plehn, Universitaet Wuerzburg



More information about the TYPO3-german mailing list