Zum Inhalt springen

"404 muss weg" - Gibt´s das schon mit Typo3?

Erstellt am 8. September 2006 · 12 Antworten · letzte Antwort am 17. September 2006

Tags: RealURL, Weiterleitungen & 404, Frage

elv1s ·

Hallo,

hätte gerne folgende Lösung bei 404 Error-pages eingesetz.

###############
Eine Error Page ist wirklich wenig sinnvoll. Denn mittlerweile weiss man, dass man die Adresse sehr wahrscheinlich falsch getippt hat, bevor der 404-Error überhaupt kommt. Viel besser ist da eine Aufteilung der Adresse und eine entsprechende Weiterleitung in die übergeordnete Kategorie. Wenn also jemand folgenden URL eingibt:

http://example.net/news/sometopic/2006/05/24/nonsense

und nonsense existiert nicht, dann soll der Benutzer einfach nach

http://example.net/news/sometopic/2006/05/24/

umgeleitet werden und die Welt ist in Ordnung. Der User merkt dann schon, dass das Gesuchte nicht dort existiert, wo er gesucht hat und wird gleich zu dem Bereich weitergeleitet, wo es vielleicht eher sein könnte — ohne ihn durch eine 404-Page zu stören. So wird der Surf-Fluss nicht unterbrochen und man wird nicht davon abgehalten, die Site weiter zu besuchen.
#####################

Kann vielleicht jemand da helfen.

vielen Dank
Gruss
Kasper

woida ·

Richte dir eine eigene 404er Seite ein, darin frägst du den Referer ab, suchst dir aus der realurl-Tabelle einen passenden Eintrag und leitest auf den weiter.

Dumme Frage: Wieviele deiner Nutzer geben eine solch lange URL per Hand ein?
Wär da nicht evtl. ein Shorcut vernünftiger?

elv1s ·

Hallo Woida,

ok hört sich gut an. Verstehe´s aber nicht so richtig.

Die Url bzw. die verwendete Text ist nicht von mir sondern von eine andere Internetseite wo ich das eben gelesen habe. Habe dann diese Text für mein Post verwendet.

Eine 404 Seite einrichten habe ich noch hinbekommen. Referer abfragen.. sorry aber da hört´s für mich schon auf.

Habe mal im myphpadmin in die realurl tabellen reingeschaut. Was mir aufgefallen ist, die Inhalt "UrlPfad Tabelle" regelmäßig "gelöscht" wird.
Die Einträge werden also regelmäßig automatisch neuherstellt. Dies ist mir aufgefallen nachdem ich "realurlmanagement" eingesetzt habe und als "RealURL properties" nichts auftaucht. Dann nach neu-anmelden waren "RealURL properties" da und dann noch wiederholtes anmelden war es wieder verschwunden. Ist das richtig so?

Danke
Gruss
Kasper

woida ·
elv1s schrieb

Die Einträge werden also regelmäßig automatisch neuherstellt. Dies ist mir aufgefallen nachdem ich "realurlmanagement" eingesetzt habe und als "RealURL properties" nichts auftaucht. Dann nach neu-anmelden waren "RealURL properties" da und dann noch wiederholtes anmelden war es wieder verschwunden. Ist das richtig so?

Ich kenne realurlmanagement nicht. Aber was hat das mit dem Problem zu tun. Du musst nur aus der Datenbank eine fuer den aktuellen Zeitpunkt gueltige URL bekommen. Ob die dann in 5 min noch gueltig ist (weil eben die Tabelle neu erstellt wurde), ist doch egal, da du dann eine neue Anfrage erstellst.

ich schrieb

Dumme Frage: Wieviele deiner Nutzer geben eine solch lange URL per Hand ein?
Wär da nicht evtl. ein Shorcut vernünftiger?

PS: Wenn du schon Fragen von anderen verwendest, solltest du zumindest die Quelle nennen.

broedel.​org ·

Hallo

Wie man diese "Pretty URLs" einrichtet, kann in einem früheren Artikel von mir nachgelesen werden: http://broedel.org/blog/articles/About-URLs

Google findet unter dem Stichwort "Pretty URLs" relativ viel dazu.

Das Ziel ist bei mir, 404-Pages gänzlich auszuschliessen. Ich weiss nicht, ob du das wirklich willst ...

Grundsätzlich funktioniert das auf jedem Apache-Server, der die Rewrite-Engine aktiviert hat. Das eingesetzte CMS ist dabei nicht sehr von Bedeutung, man sollte einfach wissen, welche Variablen weitergegeben werden müssen und wie sie heissen. Ich denke, dies erfährst du sicher hier irgendwo im Forum, oder du schaust im Code nach (ich persönlich kenne Typo3 nicht gut).

Solltest du weitere Fragen haben, poste sie hier, ich werde hier wieder mal vorbeikommen 🙂

Lg

elv1s ·

Hallo,

Danke für deine Antwort.

Genau das möchte ich gerne... keine 404 Pages, sondern dann einfach die oberliegende URL anzeigen. Eben so wie das auf deiner Seite beschrieben wird.

Wäre echt klasse wenn du / jemand weiss wie man das hinbekommen kann.

Danke
Gruss

woida ·

Wäre echt klasse wenn du / jemand weiss wie man das hinbekommen kann.

Das hab ich dir doch oben beschrieben.

Warum antwortest du eingentlich nicht auf meine Frage?

elv1s ·

Hallo Woida,

ok, habe aber auch geschrieben:

Sorry, verstehe trotzdem nur Bahnhof.. aber das liegt an moi!

Zu deine Frage...

Dumme Frage: Wieviele deiner Nutzer geben eine solch lange URL per Hand ein?
Wär da nicht evtl. ein Shorcut vernünftiger?

Eine so lange Url - war zwar nur Beispiel (wie auch bereits erwähnt) - wird evtl. nicht nur von Leute manuell eingegeben. Sondern wenn irgendwo ein Fehler-Link auf einer Webseite ist, weil der Webmaster sich verschrieben hat. Oder wenn Leute eine bestimmte Link - welche per eMail verschickt wurde - nicht richtig kopieren bzw. der letzte Buchstabe z.B. nicht mitkopiert haben.

Links wie www.domain.de/deutschland/bayern/muenchen/

sagen natuerlich auch was aus. Nicht nur für Besucher sondern auch für Suchmaschinen.

Wenn aber dann jemanden zb.
www.domain.de/deutschland/bayern/muenche

eingibt, oder eben nur dies kopiert hat, etc.

Dann wäre es denke ich sinnvoll, dass die Seite "Bayern" aufgerufen wird und nicht "404 Error"

Gruss
Kasper

broedel.​org ·

Also. Es gibt 2 Möglichkeiten.

Erstens: Du holst dir http://typo3.org/extensions/repository/view/realurl/1.1.1/ und beginnst die HOWTOS zu diesem Thema durchzuackern.

Obige Lösung ist eher ein Problem als eine Lösung, denn man müsste, wie schon von woida beschrieben, eine 404-Page einrichten und über diese den Referer abrufen. Der Referer wird aber nicht immer weitergegeben. :o Suchmaschinen beissen sich daran auch die Zähne aus, wenn sie 3 Mal umgeleitet werden. Der Vorteil: Deine URLs müssen nicht einem bestimmten internen (variablenabhängig) Aufbau folgen, sondern können isoliert für sich eingerichtet werden.

Die zweite Variante (wesentlich sauberer):
Diese Lösung setzt eine Apache-Server voraus, auf dem mod_rewrite aktiviert ist (ist nicht immer der Fall, besonders bei billigen Hostingangeboten).
Du richtest in deinem Stammverzeichnis eine .htaccess-Datei ein, deren Inhalt du in meinem Artikel zu den URLs (der Link in meiner vorigen Antwort) findest und passt sie deiner Site an.
Kurz erklärt macht mod_rewrite dann das:

Es fängt die HTTP-Abfrage ein und teilt sie an den Schrägstrichen ( / ) auf und weisst diese aufgeteilten Elementen der Reihe nach bestimmten Variablen zu. Also bei mir wird folgende Adresse

http://broedel.org/blog/articles/Testartikel/

durch den Apache wie folgt umgeschrieben (und der Benutzer bekommt davon nichts mit):

http://broedel.org/blog?page=articles&action=Testartikel

Der Vorteil: Das funktioniert immer, da die Umleitung serverseitig geschieht und nicht browserseitig. Die URLs folgen immer einem gewissen System, welches auch für den Benutzer leicht ersichtlich wird. Diese URLs kann man sich leichter merken oder gar erraten!

Der Nachteil: Es braucht Apache und mod_rewrite und das haben nicht alle Hoster aktiviert, oder wollen es gar nicht aktivieren (obwohl es kein Problem wäre).

Eigentlich solltest du es jetzt mit meinen Erklärungen hier und auf broedel.org und mit ein wenig Google hinkriegen - sonst einfach konkret fragen, wo es noch hapert.

Lg

woida ·

@broedel.org
Die erste Lösung (realurl) setzt auch mod_rewrite vorraus.

In der 2. Lösung beschreibst du die funktionsweise von realurl.

Im übringen halte zumindest ich nix von einer automatischen Weiterleitung im Fehlerfall. Der Nutzer soll auch mitkriegen, daß ER was falsches eingegeben hat. Bessere wäre das eine Erklärung, daß die Seite nicht existiert und dann könnte man evtl. verschiende URLs zur Auswahl anbieten.

broedel.​org ·

Ok, wie gesagt, kenne ich Typo3 nicht wirklich. Somit wusste ich nicht, ob erstere Lösung mod_rewrite voraussetzt. Offenbar ist es sogar das gleiche wie die 2. Lösung. Ich dachte, realurl kommt dann zum Zug, wenn der Apache zur 404-Fehlerseite umleitet und die eingegebene Adresse per Referer abgefragt wird, dann mit der Datenbank verglichen wird usw...

Der Nutzer soll auch mitkriegen, daß ER was falsches eingegeben hat.

Wenn ich intern eine Seite verschiebe, oder die Seitenstruktur etwas ändere (oder grundsätzlich ändere), nicht alle Weiterleitungen einrichte oder etwas vergesse und deshalb der Link ungültig wird, kann der Benutzer doch nichts dafür. Eine 404-Page redet dem Benutzer immer ein, er habe etwas falsch gemacht...

Ob man jetzt 404-Pages einrichtet oder nicht, ist fast schon Geschmackssache. Aber ich empfinde 404 Errors spätestens seit der Einführung von mod_rewrite als unnütz.

havanna ·

Hallo,

vielleicht denke ich ja zu pragmatisch: Ich habe bei mir einfach eine .htaccess Datei erstellt mit folgendem Inhalt:

ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html

Jede Seite sagt dann freundlich "Die von Ihnen gewünschte Seite ist nicht verfügbar" und ein Link auf die Hauptseite (könnte man per JavaScript noch eine autom. Weiterleitung nach 30 sec. einrichten).
Du könntest natürlich auch auf eine Seite linken, die eine Suchhilfe anbietet und du dem User schreibst, das die Seite vielleicht verschoben wurde.

Hat dann eigentlich nichts mit Typo3 zu tun.

Gruß Thomas