alle Fehlermeldungen umleiten

Apache, Lighttpd, nginx, Cherokee
synoo
Posts: 21
Joined: 2005-03-13 15:42

alle Fehlermeldungen umleiten

Post by synoo »

Hallo,
wie kriegen ich jede 404 meldung auf die startseite umgeleitet. Was ich
meine ist das egal woher die 404 seite kommt automatisch umgeleitet werden soll. Habe millionen von seiten und da ändert sich ständig etwas.

Danke
aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: alle Fehlermeldungen umleiten

Post by aubergine »

In deiner httpd.conf

Code: Select all

ErrorDocument 404 /pfad/zum/index.php
Wobei es auf deine Config ankommt was als dtandarddir zu nehmen ist, also nicht den Reelen Pfad angeben, sondern z.B. ab /var/www
synoo
Posts: 21
Joined: 2005-03-13 15:42

Re: alle Fehlermeldungen umleiten

Post by synoo »

danke,
funktioniert supper aber es soll keine 404 meldung an die suchmaschinen geschickt werden sondern 301 auf die startseite under der besucher sollte auch auf die startseite umgeleitet werden
elias5000
Posts: 66
Joined: 2006-08-18 14:35
Location: Berlin

Re: alle Fehlermeldungen umleiten

Post by elias5000 »

Diese RewriteRule biegt alle Requests, die ein nicht vorhandenes Dokument anfordern, auf die Startseite um.

Code: Select all

RewriteEngine On
# Wenn File nicht existiert...
RewriteCond %{REQUEST_FILENAME} !-f
# ... dann Redirect (301) auf Index
RewriteRule (^.*) /path/to/index.php [R=301]
Wobei ein 404 eigentlich richtiger ist, da ja wohl kaum alle nicht mehr vorhandenen Dokumente auf die Startseite umgezogen wurden. (301 = moved permanently)
synoo
Posts: 21
Joined: 2005-03-13 15:42

Re: alle Fehlermeldungen umleiten

Post by synoo »

dachte immer das zuviele 404 schlecht für suchmaschinen sind. Stimmt das etwa nicht?
elch_mg
Posts: 302
Joined: 2006-01-23 19:14
Location: 41063

Re: alle Fehlermeldungen umleiten

Post by elch_mg »

Einen 404 gibts in der Regel, wenn eine Seite _nicht vorhanden_ ist. Wieso sollte es schlecht für Suchmaschinen sein, wenn eine Seite ganz einfach nicht vorhanden ist?

Was du meinst, ist bestimmt folgendes.. Eine Suchmaschine indexiert deine Seite, d.h. sie grast alle von dir gesetzten Links ab - und findet dabei möglicherweise einen Link, der auf eine nicht existente Seite zeigt, sprich bekommt einen 404. Nicht funktionierende Links sollte man aber aus der Welt schaffen, statt sie irgendwie umzubiegen...
elias5000
Posts: 66
Joined: 2006-08-18 14:35
Location: Berlin

Re: alle Fehlermeldungen umleiten

Post by elias5000 »

@elch_mg: full ack

404er als 301er umzuleiten ist üblicherweise dann sinnvoll, wenn man weiß, dass die nicht vorhandene Seite z.B. in Printmedien oder anderen Seiten, über die man keine Hoheit hat, referenziert wird.
Dann sollte man die Umleitung allerdings nicht auf die Startseite, sondern auf die neue URL der selben Information zeigen lassen.
dotme
Posts: 150
Joined: 2004-12-15 16:48

Re: alle Fehlermeldungen umleiten

Post by dotme »

elias5000 wrote:Diese RewriteRule biegt alle Requests, die ein nicht vorhandenes Dokument anfordern, auf die Startseite um.
Ich finde sowas nicht optimal. Es füllt Caches/Proxies mit fehlerhaften Einträgen, da es wie die Wildcard-Einträge im DNS allen Schmutz aufsaugt.

Für den Besucher der Webseite kann das auch unangenehme Folgen haben, da der Browser unnötigerweise die Startseite lädt, wenn z.B. nur ein "spacer.gif" falsch verlinkt war.
elias5000
Posts: 66
Joined: 2006-08-18 14:35
Location: Berlin

Re: alle Fehlermeldungen umleiten

Post by elias5000 »

Die rewrite-Rule sendet eine Antwort mit einem Redirect zurück. Und zwar mit dem Signal "Moved Permanently".
Mit Anderen Worten, der User bekommt in der Adresszeile auch die URL der Startseite zu sehen und die Browser merken, dass sie auf die Startseite geschickt wurden. Zudem wird signalisiert, dass die Seite tatsächlich nicht länger existiert.
Ich hab auch nicht geschrieben, dass das die feine englische Art ist. HTTP-Konformität ist was anderes. Aber es geht.