not found - 404 Seiten in TYPO3

TYPO3 bietet die Möglichkeit, eine redaktionell gepflegte "Page not found"-Seite auszuspielen, wenn ein Besucher eine falsche URL besucht. Dabei kommt es allerdings zu unschönen Fehlermeldungen, wenn sich die Website hinter einem Passwortschutz (.htaccess) verbirgt, z.B. auf einer STAGING-Umgebung.

Fehler 404-Seiten ausliefern, wenn die Website passwortgeschützt ist

Warum sollte man eine Website verstecken?

Es gibt einen guten Grund, Websites hinter einem Basic-HTTP-Auth zu verstecken. Neue Features sollen vom Kunden begutachtet und abgenommen werden. Redakteure bereiten Inhalt vor, der erst später live gehen soll. Natürlich sollen Suchmaschinen diese Inhalte nicht zu früh finden - oder besser: gar nicht, schliesslich soll ja kein Duplicate Content entstehen. 

Ein solcher Passwortschutz ist schnell eingerichtet: auf Webservern mit dem Apache-Webserver kann einfach eine .htaccess-Datei hinterlegt werden und der Server kümmert sich um den Rest.

404 - wir haben ein Problem!

Wird eine URL aufgerufen, die TYPO3 nicht kennt, liefert das System die konfigurierte "Page not found"-Seite und den entsprechenden 404-Header aus. Allerdings versucht TYPO3 genau diese Seite über einen Aufruf an den eigenen Webserver abzurufen und das funktioniert nicht, wenn dieser passwortgeschützt ist. Ein Dilemma! Ausgerechnet die Seite, die einen Fehler handeln soll, führt zu einem sichtbaren Fehler im Frontend!

Um dies zu umgehen, müssen wir also dem Webserver beibringen, Anfragen vom eigenen Host ohne Passwortschutz auszuliefern. Und das ist in der Tat sehr einfach: 

 

AuthUserFile /path/to/.htpasswd
AuthGroupFile /dev/null
Require valid-user
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from server.public.ip.address
Satisfy any

 

Der erste Teil kommt vielen sicherlich bekannt vor: hier wird einfach nur ganz normal der Passwortschutz konfiguriert. 

Anschließend werden bestimmte IP-Adressen erlaubt und mit Satisfy Any akzeptieren wir jeden Weg der Authentifizierung. Damit werden alle Anfragen vom lokalen System einfach ausgeliefert; alle anderen bekommen den Passwortdialog und müssen sich anmelden. 

Falls ihr eine feste IP-Adresse habt, könnt ihr genau diesen Mechanismus auch nutzen, um von Eurem Büro auch nicht jedesmal das Passwort eingeben zu müssen. 

Übrigens: der .htaccess-Schutz ist gut geeignet, um Seiten vor Suchmaschinen o.ä. zu verbergen. Für Entwicklungsumgebungen ist dies daher gut geeignet. Wer seinen regulären Besuchern Inhalte nur nach Anmeldung zur Verfügung stellen will, sollte aber von .htaccess Abstand nehmen; hierfür eignet sich die in TYPO3 vorhandene Frontend-Benutzerauthentifizierung deutlich besser!

Kommentare (2)

  • Chiara
    Chiara
    am 19.03.2023
    Danke für den Beitrag!
    Ein Programmierer hat meiner Kundin über eine Statging Umgebung 64 404er reingehauen.
    Löst man diese nun mit einem 301 am besten?
    Danke für das Feedback!
    • Marc Willmann
      Marc Willmann
      am 19.03.2023
      Was genau meinst Du denn damit, dass er über eine Staging-Instnz 404-Fehler „reingehauen“ hat? Wenn die Links falsch sind und die Seite noch nicht veröffentlicht, kann man die ja einfach ändern.

      Wenn sich im Rahmen eines Relaunches die URLs ändern (was durchaus vorkommen kann), sind 301-Redirect von alt nach Neu ein probates Mittel.

Neuen Kommentar schreiben