Tino Gössel: 404 - Schon wieder ich

Hallo - ich bins nochmal.

Danke erstmal an jene die versucht haben mir zu helfen!

Vielleicht habe ich mein Problem ungenau beschrieben. Wie ich herausbekomme von welcher Seite ein toter Link aufgerufen wurde und diese nach dem Aufruf von .htaccess errordocument (fehler404.html) auszugeben JS(document.referrer) ist nicht das Problem.

Vielmehr geht es mir um die Falscheingabe in der Adresszeile (also die von Hand eingegebenen URLs). Wie kann ich diese auslesen? Jene erscheinen nämlich nicht als referrer (da sie ja keine referrierenden Seiten sind ;-))

Hope for Help
Tino

  1. Hallo Tino

    Vielmehr geht es mir um die Falscheingabe in der Adresszeile (also die von Hand eingegebenen URLs). Wie kann ich diese auslesen? Jene erscheinen nämlich nicht als referrer (da sie ja keine referrierenden Seiten sind ;-))

    Mit JavaScript kannst du folgendes in's HTML-Dokument schreiben:
    <script language="JavaScript">
    document.write(window.location.href);
    </script>

    Mit Perl sollte folgendes funktionieren:
    print "http://$ENV{'HTTP_HOST'}$ENV{'REDIRECT_URL'}";

    Gruss
    Andreas

    1. Hallo & Danke Andreas

      Leider ist auch dies nicht des Rätsels Lösung. Da mir dieser Aufruf nur die URL des durch .htaccess aufgerufenen Fehlerdokumentes (fehler404.html) anzeigt.

      :-(

      Nochmal zur Klarheit:
      1. wenn ich eingebe www.tino-online.de/misst.gmrl dann kommt es zum Fehler 404 (Seite nicht gefunden)

      2.durch die .htaccess Datei wird www.tino-online.de fehler404.html aufgerufen

      3. Hier soll im Text die Meldung erscheinen:

      Fehler 404    :   www.tino-online.de/misst.gmrl  nicht gefunden (oder so ähnlich :-)

      Ich kann aber nirgends die Usereingabe (www.tino-online.de/misst.gmrl) auslesen?

      Oder Doch?

      1. Hallo Tino

        Leider ist auch dies nicht des Rätsels Lösung. Da mir dieser Aufruf nur die URL des durch .htaccess aufgerufenen Fehlerdokumentes (fehler404.html) anzeigt.

        Ich habe dein Problem schon verstanden. Die JavaScript-Lösung sollte auf jeden Fall funktionieren, da es den Browser nicht interessiert, ob .htaccess die Seite fehler404.html aufgerufen hat oder nicht. Ihn interessiert nur die Adress-Zeile, und die bleibt ja unverändert.

        Ich kann aber nirgends die Usereingabe (www.tino-online.de/misst.gmrl) auslesen?

        Oder Doch?

        Falls
        print "http://$ENV{'HTTP_HOST'}$ENV{'REDIRECT_URL'}";
        nicht funktioniern sollte, kannst du mit folgenden Zeile die Umgebungsvariablen ausgeben:

        print "Content-type: text/html\n\n";
        foreach $key (sort keys %ENV)
        {print "$key: $ENV{$key}\n";}

        Es sollte auch eine Variable mit der Usereingabe vorhanden sein (www.tino-online.de/misst.gmrl oder zumindest /misst.gmrl).

        Gruss
        Andreas

        1. Ich habe dein Problem schon verstanden. Die JavaScript-Lösung sollte auf jeden Fall funktionieren, da es den Browser nicht interessiert, ob .htaccess die Seite fehler404.html aufgerufen hat oder nicht. Ihn interessiert nur die Adress-Zeile, und die bleibt ja unverändert.

          Hallo Andreas! :-)

          Leider bleibt eben die Adresszeile nicht unverändert sondern vielmehr wird sie mit http://..../fehler404.html ausgefüllt.

          Ich probier nochmal das Script.

          Gruß & Dank
          Tino

          1. Hallo Tino

            Leider bleibt eben die Adresszeile nicht unverändert sondern vielmehr wird sie mit http://..../fehler404.html ausgefüllt.

            Das ist ein Problem mit deiner .htaccess-Datei, denn dort steht:
            ErrorDocument 404 http://www.tino-online.de/fehler404.html
            Der Server schickt also dem Browser "Location: http://www.tino-online.de/fehler404.html" zurück.

            Es müsste aber
            ErrorDocument 404 /fehler404.html
            heissen, dann überträgt der Server den Inhalt der Datei /fehler404.html.

            Ich hoffe, dass dein Problem damit gelöst ist.

            Gruss
            Andreas

            1. Wow - Das klappt ja wirklich

              Danke Dir Andreas !!! Hätte nie gedacht, dass die Lösung so einfach ist.

              Schönen Sonntag Abend und 2. Advent noch
              Tino