Fehler404 Seitennamen mit anzeigen
Ralph
- html
0 Ingo Turski0 Ralph0 Der Martin-2 Ralph0 Der Martin-4 Ralph Hennen0 Der Martin-6 Ralph
0 Ingo Turski
Hallo zusammen,
ich habe mir für (m)eine Präsenz eine eigenen Fehlerseite gebaut. Ich möchte den nicht gefundenen Seitennamen mit in dieser anzeigen lassen. Kann mir jemand dazu eine Hilfe geben? (Hoffe mein Anligen ist verständlich!)
Gruß,
Ralph
Hi,
Ich möchte den nicht gefundenen Seitennamen mit in dieser anzeigen lassen.
Der steht doch bereits in der URL.
freundliche Grüße
Ingo
Hi!
In der Regel nicht deswegen die Frage: "Die Seite wurde nicht gefunden. Die gewünschte Seite wurde möglicherweise entfernt oder umbenannt, oder sie ist vorübergehend nicht erreichbar."
Mehr ist nicht zu lesen !!
Gruß,
Ralph
Hi,
Ich möchte den nicht gefundenen Seitennamen mit in dieser anzeigen lassen.
Der steht doch bereits in der URL.
freundliche Grüße
Ingo
Hallo Ralph,
Der steht doch bereits in der URL.
In der Regel nicht deswegen die Frage: "Die Seite wurde nicht gefunden. Die gewünschte Seite wurde möglicherweise entfernt oder umbenannt, oder sie ist vorübergehend nicht erreichbar."
Trotzdem: Die tatsächlich angeforderte Ressource steht -wenn der Server halbwegs anständig konfiguriert ist- immer noch in der Adresszeile.
Wenn du den Namen auch noch im Seiteninhalt wiedergeben möchtest, musst du deine 404-Fehlerseite mit einer serverseitigen Scriptsprache, z.B. PHP, dynamisch generieren. Mit PHP hast du dann über $_SERVER['REQUEST_URI'] Zugriff auf den Namen der tatsächlich angeforderten Ressource.
Aber wie gesagt: Eigentlich ist das unnötig, denn der steht ja in der Adresszeile.
Schönes Wochenende noch,
Martin
Hi,
Ich möchte den nicht gefundenen Seitennamen mit in dieser anzeigen lassen.
PS: Gewöhne dir doch bitte einen sinnvollen Zitierstil an. :-)
Hi Martin,
danke für den Tipp. :-) Da Du sicherlich meine Anfrage verstanden hast, kann man sicherlich davon ausgehen das mein "Zitat" nicht wirklich ein Hinderniss für die Anfage war.
Schönes WE,
Ralph
Hallo Ralph,
Der steht doch bereits in der URL.
In der Regel nicht deswegen die Frage: "Die Seite wurde nicht gefunden. Die gewünschte Seite wurde möglicherweise entfernt oder umbenannt, oder sie ist vorübergehend nicht erreichbar."Trotzdem: Die tatsächlich angeforderte Ressource steht -wenn der Server halbwegs anständig konfiguriert ist- immer noch in der Adresszeile.
Wenn du den Namen auch noch im Seiteninhalt wiedergeben möchtest, musst du deine 404-Fehlerseite mit einer serverseitigen Scriptsprache, z.B. PHP, dynamisch generieren. Mit PHP hast du dann über $_SERVER['REQUEST_URI'] Zugriff auf den Namen der tatsächlich angeforderten Ressource.
Aber wie gesagt: Eigentlich ist das unnötig, denn der steht ja in der Adresszeile.
Schönes Wochenende noch,
MartinHi,
Ich möchte den nicht gefundenen Seitennamen mit in dieser anzeigen lassen.
PS: Gewöhne dir doch bitte einen sinnvollen Zitierstil an. :-)
Hallo Ralph,
Da Du sicherlich meine Anfrage verstanden hast, kann man sicherlich davon ausgehen das mein "Zitat" nicht wirklich ein Hinderniss für die Anfage war.
nein, das war sicher kein Hindernis - aber Fullquotes sind hier trotzdem nicht gern gesehen. Sie bringen keinen Nutzen und blähen nur das Archiv unnötig auf. Und deshalb zitiere bitte die Sätze oder Abschnitte, auf die du dich direkt beziehst, und lass Überflüssiges weg.
Leichter lesbar (im Sinne des Verstehens) wird es dadurch auch noch. ;-)
So long,
Martin
Hi Martin,
ich hoffe das Du als Rufer in der Wüste nicht alleine darstehst.
Gruß,
Ralph
Hallo Ralph,
Da Du sicherlich meine Anfrage verstanden hast, kann man sicherlich davon ausgehen das mein "Zitat" nicht wirklich ein Hinderniss für die Anfage war.
nein, das war sicher kein Hindernis - aber Fullquotes sind hier trotzdem nicht gern gesehen. Sie bringen keinen Nutzen und blähen nur das Archiv unnötig auf. Und deshalb zitiere bitte die Sätze oder Abschnitte, auf die du dich direkt beziehst, und lass Überflüssiges weg.
Leichter lesbar (im Sinne des Verstehens) wird es dadurch auch noch. ;-)So long,
Martin
Hallo,
ich hoffe das Du als Rufer in der Wüste nicht alleine darstehst.
nein, keine Bange, die Forumsgemeinschaft steht in dieser Sache hinter mir. Schade nur, dass es immer wieder beratungsresistente User gibt, die es anscheinend auf eine Provokation anlegen.
So long anyway,
Martin
Nochmal Hallo,
da das Thema etwas ausufert und ich keine Zeit für belanglose Postings von "Forumsexperten" habe, belassen wir es einfach dabei das ich eine andere Meinung habe.
Schönes Wochende,
Ralph
Hallo,
ich hoffe das Du als Rufer in der Wüste nicht alleine darstehst.
nein, keine Bange, die Forumsgemeinschaft steht in dieser Sache hinter mir. Schade nur, dass es immer wieder beratungsresistente User gibt, die es anscheinend auf eine Provokation anlegen.
So long anyway,
Martin
Hi,
Trotzdem: Die tatsächlich angeforderte Ressource steht -wenn der Server halbwegs anständig konfiguriert ist- immer noch in der Adresszeile.
genau, aber wenn der Server schlecht konfiguriert ist und dort die URL der Fehlerseite steht, dann sollte in $_SERVER['REQUEST_URI'] doch wohl auch die URL der Fehlerseite stehen, oder?
Aber da kommt mir noch eine ganz andere Idee: Falls verschwiegen wurde, daß die Fehlerseite in einem Frameset angezeigt wird, dann steht natürlich die Frameset-URL in der Adreßzeile.
Und zur Anzeige der angeforderten URI würde zur Not auch Javascript reichen.
freundliche Grüße
Ingo
Hallo Ingo.
genau, aber wenn der Server schlecht konfiguriert ist und dort die URL der Fehlerseite steht, dann sollte in $_SERVER['REQUEST_URI'] doch wohl auch die URL der Fehlerseite stehen, oder?
Ich wüsste keinen Grund, warum er das sollte. Schließlich wurde nicht die Fehlerseite angefragt, sondern irgend eine andere Ressource. Dem entsprechend befindet sich in $_SERVER['REQUEST_URI'] auch nur diese.
Ob und wie man den Server kaputtkonfigurieren kann, dass er die URI der ausgelieferten an Stelle der angefragten Ressource anzeigt, weiß ich nicht.
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Ashura,
genau, aber wenn der Server schlecht konfiguriert ist und dort die URL der Fehlerseite steht, dann sollte in $_SERVER['REQUEST_URI'] doch wohl auch die URL der Fehlerseite stehen, oder?
Richtig.
Ob und wie man den Server kaputtkonfigurieren kann, dass er die URI der ausgelieferten an Stelle der angefragten Ressource anzeigt, weiß ich nicht.
Es reicht schon, die URL der Fehlerseite in der ErrorDocument-Direktive mit http:// beginnen zu lassen. Dann sendet der Apache nämlich keine Fehlerseite mehr mit Status 404, sondern nur ein Redirect nach dem Motto, "Hol dir doch deine Fehlerseite selber, dort ist sie". Dann fordert der Browser im zweiten Schritt tatsächlich selbst die Fehlerseite an, und die Information, welche URL eigentlich zu dem Fehler führte, ist weg.
Schönes Wochenende (trotz Sch*@&wetter),
Martin
Hallo Martin.
Es reicht schon, die URL der Fehlerseite in der ErrorDocument-Direktive mit http:// beginnen zu lassen.
Stimmt, da war doch etwas.
Dann sendet der Apache nämlich keine Fehlerseite mehr mit Status 404, sondern nur ein Redirect nach dem Motto, "Hol dir doch deine Fehlerseite selber, dort ist sie".
Schlimmer noch: statt 404 wird damit 200 (oder eben 301) gesendet, sofern die Fehlerseite existiert. Der tatsächliche Nutzen dieser Direktive ist damit nicht mehr vorhanden.
Schönes Wochenende (trotz Sch*@&wetter),
Naja, ein wenig grau, aber ansonsten ganz erträglich.
(Wenn nur dieser matschige Untergrund nicht wäre.)
Einen schönen Samstag noch.
Gruß, Ashura
Hallo Ihr,
ich hake mich mal ein weil ich exakt in dem Moment dieses Problem habe.
Ich habe den Typ bei dem ich meine website hoste gebeten mir das so einzrichten dass ich eine eigene Fehlerseite gestalten kann.
Gesagt, getan.
beim Aufruf der Fehlerseite erscheint nun oben in der Adresszeile folgendes:
http://www.example.org/fehler/404.html
Dass das nicht so toll ist habe ich gestern festgestellt denn ich hätte schon gerne dass der Besucher weiss was der denn nun (falsches) gesucht hat.
Also hab ich noch folgendes in die Fehlerseite eingebaut:
<?php
$name .= "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]."\n\n";
echo "$name"
?>
Und was wird mir ausgegeben? -->
Die von Ihnen aufgerufene Seite http://www.example.org/fehler/404.html konnte nicht gefunden werden,
da es gewünschte Datei nicht (mehr) gibt.
Also hat mein hoster da nicht gerade den besten WEg gewählt und ich sollte ihn nochmal darauf ansprechen oder?
Ich würde das ungern mit JS lösen (wie auch immer das gehen sollte)
vg melanie
Hallo Melanie,
ich habe das Problem jetzt anders gelöst. Der Name der nicht gefundenen Seite bleibt in der Browserzeile stehen, nur eine (von mir erstellte 404Seite) wird aufgerufen. Bei interesse helfe ich gerne. So etwas zu bauen ist recht einfach ohne große Schnörkel.
Gruß,
Ralph
Hallo Ihr,
ich hake mich mal ein weil ich exakt in dem Moment dieses Problem habe.
Ich habe den Typ bei dem ich meine website hoste gebeten mir das so einzrichten dass ich eine eigene Fehlerseite gestalten kann.
Gesagt, getan.beim Aufruf der Fehlerseite erscheint nun oben in der Adresszeile folgendes:
http://www.example.org/fehler/404.htmlDass das nicht so toll ist habe ich gestern festgestellt denn ich hätte schon gerne dass der Besucher weiss was der denn nun (falsches) gesucht hat.
Also hab ich noch folgendes in die Fehlerseite eingebaut:
<?php
$name .= "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]."\n\n";
echo "$name"
?>Und was wird mir ausgegeben? -->
Die von Ihnen aufgerufene Seite http://www.example.org/fehler/404.html konnte nicht gefunden werden,
da es gewünschte Datei nicht (mehr) gibt.Also hat mein hoster da nicht gerade den besten WEg gewählt und ich sollte ihn nochmal darauf ansprechen oder?
Ich würde das ungern mit JS lösen (wie auch immer das gehen sollte)
vg melanie
Hallo Mel.
Ich habe den Typ bei dem ich meine website hoste gebeten mir das so einzrichten dass ich eine eigene Fehlerseite gestalten kann.
Gesagt, getan.
Und wie? (Inhalt der .htaccess bzw. der httpd.conf)
beim Aufruf der Fehlerseite erscheint nun oben in der Adresszeile folgendes:
http://www.example.org/fehler/404.html
Das deutet auf den Fehler hin, den Martin beschrieben hat.
Einen schönen Samstag noch.
Gruß, Ashura
Und wie? (Inhalt der .htaccess bzw. der httpd.conf)
Das deutet auf den Fehler hin, den Martin beschrieben hat.
Ja genau.
Also in der .htaccess steht folgendes:
ErrorDocument 404 http://www.example.org/fehler/404.html
Auf mehr habe ich (per ftp) keinen zugriff.
Hallo Mel.
Also in der .htaccess steht folgendes:
ErrorDocument 404 http://www.example.org/fehler/404.html
Dann ändere dies einmal wie folgt um:
ErrorDocument 404 /fehler/404.html
Einen schönen Samstag noch.
Gruß, Ashura
ach wenns denn immer sooo einfach wäre ;)
Vielen vielen lieben Dank Ashura.
Jetzt passt alles wie gewünscht, die falsche Adresse bleibt oben bestehen und im Text wird diese nochmal zur Info ausgegeben.
Ich hab das aber noch nicht so wirklich verstanden warum das hier
ErrorDocument 404 http://www.example.org/fehler/404.html
automatisch zu der Fehlerseite umleitet und damit im Prinzip nicht so brauchbar ist?
Hallo Mel.
ach wenns denn immer sooo einfach wäre ;)
Vielen vielen lieben Dank Ashura.
Keine Ursache.
Ich hab das aber noch nicht so wirklich verstanden warum das hier
ErrorDocument 404 http://www.example.org/fehler/404.html
automatisch zu der Fehlerseite umleitet und damit im Prinzip nicht so brauchbar ist?
Du sagst es im Grunde ja schon selbst: es wird umgeleitet.
Wird eine URI als Wert für die ErrorDocument-Direktive angegeben, muss der Apache-Webserver natürlich auch erst einmal diese anfordern. Dass diese von ihm selbst ausgeliefert wird, kann er nicht wissen.
Wurde sie erfolgreich ausgeliefert, sendet der Apache natürlich folgerichtig den Statuscode 200 (OK) bzw. 301 (Not modified). Vom eigentlichen Zweck dieser Direktive, fehlende Ressourcen mit Hilfe von Statuscode 404 (Not Found) kenntlich zu machen, ist hier nichts mehr zu sehen. In den Logdateien des Servers ist nichts von der fehlenden Ressource zu sehen und Suchmaschinen verweisen weiterhin darauf. Woher sollen sie auch wissen, dass die Ressource nicht mehr existiert, wenn ihnen das niemand sagt?
Gibst du nun aber nun einen Pfad an, der nur im Dateisystem existieren kann, sucht der Apache natürlich auch dort danach, gibt diese Datei (in welcher Form auch immer sie vorliegen mag) zurück und sendet wie gewünscht den Statuscode 404.
Einen schönen Samstag noch.
Gruß, Ashura