Zum Inhalt springen

404 nach Umzug mit simulateStaticDoc

Erstellt am 29. August 2008 · 2 Antworten · letzte Antwort am 29. August 2008

Tags: URLs & Routing, Weiterleitungen & 404, Frage

McGregor ·

Hallo zusammen!

Wir haben hier eine alte Webseite 1:1 in TYPO3 umgesetzt. Die Inhalte sind geblieben. Der Kunde nutzt nun die Vorteile von TYPO3.
Die Seite läuft auch ohne Probleme. Dabei verwenden wir simulatestaticdocuments für eine freundlichere Darstellung der URLs.

Nun hatte die alte Webseite Unterseiten, d.h. sowas wie:
www.meinedomain.de/pages/news/latest.html

Diese Seite heißt in der neuen Version jedoch:
www.meinedomain.de/latest.html

Soweit kein Problem, jedoch werden alte externe Links (also Linsk von anderen Seiten auf diese Domain) falsch dargestellt. Der grundsätzliche Templaterahmen ist noch vorhanden, doch CSS-Angaben sind nicht geladen und auch sonst wird kein Inhalt angezeigt.

Mein 404-Handling funktioniert ohne Probleme, wenn die Domain ohne Unterseite aufgerufen wird, also z.B.:
www.meinedomain.de/nichtvorhanden.html (Seite nicht existent!)

Ich habe die Befürchtung, dass ich da per .htaccess eingreifen muss. Doch leider fehlt mir da das Wissen.
Kann mir jemand vielleicht einen Tipp geben?
Hier schonmal meine .htaccess

RewriteEngine On
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]

Also müssten alle Unterseiten (egal wie tief verschachtelt), außer typo3,typo3conf,... auf eine bestimmte Seite weitergeleitet werden, z.B. 404-error.html

Vielen Dank
McGregor

einpraegsam.​net ·

1. Dass dein CSS nicht gezeigt wird, liegt vermutlich an einer fehlenden Baseurl

2. Übers Install Tool kannst du einen 404 Header setzen und eine vordefinierte Seite anzeigen

McGregor ·

Hi!

Das hat fast funktioniert.
Mit Hilfe einer baseurl wird immerhin die Startseite korrekt angezeigt, wenn der Aufruf mit Unterseiten erfolgt.
Die Lösung per FE-404-handling hatte ich schon umgesetzt:

$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'USER_FUNCTION:fileadmin/misc/pageNotFoundHandling.php:user_pageNotFound->pageNotFound';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';

Noch ne Idee, wie ich nun TYPO3 dazu bewegen kann die 404-Seite bei Unterseiten anzuzeigen?

Hier übrigens noch meine pageNotFoundHandling.php

<?php
require_once(PATH_tslib.'class.tslib_pibase.php');
class user_pageNotFound {
	function pageNotFound($param,$ref) {
		$host = $_SERVER['SERVER_NAME'];
		$requestedPage = $param['currentUrl'];
		$refererPage = $_SERVER['HTTP_REFERER'];
		$errorPage = "/404-seite.html"; // entsprechend anpassen
		header("Location: http://$host$errorPage");
	}
}
?>

Grüße
McGregor