Zum Inhalt springen

404 - page does not exist - verhindern

Erstellt am 29. November 2002 · 5 Antworten · letzte Antwort am 6. Februar 2004

Tags: Frage

Bernd ·

Hallo Roland,

wenn ich mich recht erinnere, dann findest Du doch die Dokumentation des Apache Webservers so genial... 🙂 Und genau hier liegt die Lösung:

http://httpd.apache.org/docs-2.0/misc/custom_errordocs.html

Dort ist beschrieben, wie man ein Error-Dokument einbindet. Dort kannst Du auch den Redirect zur Startseite festlegen. IMHO sollte das auch für virtuelle Server funktionieren. Ist also eigentlich keine Konfigurationssache bei typo3 sondern beim apache.

Tschaui Bernd

SolarUwe ·

Hallo Roland-KS,

die Frage, wie Typo3 damit umgeht, interessiert mich auch sehr - bin gespannt auf Antworten.

Zu Deinem Hinweis, dass Du den Apache beim ISP nicht konfigurieren kannst: Viele ISP erlauben die Verwendung individueller .htaccess-Dateien, mit denen Du solche Einstellungen selbst vornehmen kannst (so z.B. 1&1/PureTec, www.typo3server.de...).

Der Syntax ist einfach:
ErrorDocument <HTTP Error Code> <path/to/errordocument>, z.B.
ErrorDocument 404 /errordocs/404

Offenbar wird das aber bei der Verwenung der simuliert-statischen Seiten umgangen und Typo3 serviert seine eigene Fehlermeldung... Wie gesagt: Bin auch interessiert an einem Tip hierzu.

Gruß UWE.

syring ·

Hallo!

Meines Wissen kümmert sich typo um die nicht gefundenen Seiten.

Dazu gibt es eine Option in der localconf.php:

"pageNotFound_handling".

Leider funktionierte dieses Feature bei mir nicht. Um das zu fixen habe ich ein kleines quick&dirty-patch angefertigt. Bei mir funktioniert das jetzt.

Hier der Patch:

diff --unified --new-file ./newsite/tslib/class.tslib_fe.php ./dummy-3.5.0/tslib/class.tslib_fe.php
--- ./newsite/tslib/class.tslib_fe.php Fri Mar 14 17:52:20 2003
+++ dummy-3.5.0/tslib/class.tslib_fe.php Tue Feb 11 17:29:48 2003
@@ -252,12 +252,7 @@
}
// If still no page...
if (!count($this->page)) {
- if ($this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] != "False" || $this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling"] != 0) {
- $this->pageNotFoundHandler($this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling"],$this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling_statheader"]);
- }
- else {
- $this->printError("The requested page does not exist!");
- }
+ $this->printError("The requested page does not exist!");
exit;
}
}
@@ -505,6 +500,7 @@
$requestedId = $this->id; // We store the originally requested id
$this->getPageAndRootlineWithDomain($this->domainStartPage);
$GLOBALS["TT"]->pull();
+
if ($this->pageNotFound && $this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling"]) {
$this->pageNotFoundHandler($this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling"],$this->TYPO3_CONF_VARS["FE"]["pageNotFound_handling_statheader"]);
}
Common subdirectories: ./newsite/tslib/media and dummy-3.5.0/tslib/media

Grüsse

Niko

Falls ihr das ausprobieren wollt bitte auf die Zeilenumbrüche achten!

claus ·

Moin Moin,

ich habe in " t3lib/class.t3lib_timetrack.php " die Fehlermeldung anpaßt ( sie ist bei in Zeile 404 ! )

#giggle# 404 - Error #giggle#

Da könnt Ihr einfach neuen HTML Code eingeben (z.B. eine Umleitung auf Eure URL). Ihr könnt aber auch die Fehlermeldung anpassen, aber achtet dann auf " $header " und " $text ", denn sonst gibt es keine Fehlermeldung 😉

Gruß aus dem Web,
Claus