Matthias: ErrorDocument Fehlerseiten

Guten Abend!

Ich suche schon seit Stunden nach einer Möglichkeit in meiner eigenen Fehlerseite, die ich in PHP geschrieben habe, die im Browser eingegebene Adresse auszulesen, um diese dann in einer MySQL Datenbank zu speichern.

Die Fehlerseite wird über die .htaccess Datei aufgerufen.

Die $_SERVER['REQUEST_URI'] enthält nur die URL der Fehlerseite... Gibt es überhaupt eine Möglichkeit mit Apache und PHP die falsche Adresse herauszufinden?!

Matthias

  1. Hi!

    Wieso arbeitest du nicht mit den Apache-Logfiles?
    Die bearbeiten das ständig und du brauchst das Ergebnis nur von entsprechenden (kostenlosen) Programmen auswerten lassen...

    cu

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ss:| zu:) ls:< fo:# de:> va:} ch:? sh:) n4:( rl:? br:^ js:( ie:% fl:( mo:)
    http://emmanuel.dammerer.at/selfcode.html
    1. @Marc: Danke für deine Idee!

      Die Seite ist auf dem Server meines Providers (all-inkl.com) und da hab ich doch keinen Zugriff auf die Log files, oder?

      Ausserdem würde ich gerne die angefragte Seite auf der Fehlerseite mit ausgeben.

      Gibt es noch andere Möglichkeiten?

      1. Hi!

        @Marc: Danke für deine Idee!

        Sittebär, ähh - bittesehr. ;-)

        Die Seite ist auf dem Server meines Providers (all-inkl.com) und da hab ich doch keinen Zugriff auf die Log files, oder?

        Hmmm.
        Hab ich auch, und bei mir ist auf meinem FTP-Account ein netter Ordner namens "logs" - schön komprimiert alles.
        Schau mal nach ;-)

        cu

        Marc Reichelt || http://www.marcreichelt.de/

        --
        Linux is like a wigwam - no windows, no gates and an Apache inside!
        SELFCode: ss:| zu:) ls:< fo:# de:> va:} ch:? sh:) n4:( rl:? br:^ js:( ie:% fl:( mo:)
        http://emmanuel.dammerer.at/selfcode.html
        1. hallo,

          bei mir ist auf meinem FTP-Account ein netter Ordner namens "logs" - schön komprimiert alles.

          Bei mir auch ... nur: da stehen nur die Sachen drin, die in acces_log gehören. Natürlich kann man beispielsweise die 404er rausfiltern und damit herumspielen, aber bissel mühsam könnte das doch werden.
          Das größte Problem (bei mir): über FTP komme ich auf diesen Ordner, aber nicht über HTTP.

          Grüße aus Berlin

          Christoph S.

          1. Hi!

            hallo,

            bei mir ist auf meinem FTP-Account ein netter Ordner namens "logs" - schön komprimiert alles.

            Bei mir auch ... nur: da stehen nur die Sachen drin, die in acces_log gehören. Natürlich kann man beispielsweise die 404er rausfiltern und damit herumspielen, aber bissel mühsam könnte das doch werden.
            Das größte Problem (bei mir): über FTP komme ich auf diesen Ordner, aber nicht über HTTP.

            Also ich würde mir da n kleines Script in PHP basteln, damit klappts ganz sicher auch über HTTP... ;-)

            cu

            Marc Reichelt || http://www.marcreichelt.de/

            --
            Linux is like a wigwam - no windows, no gates and an Apache inside!
            SELFCode: ss:| zu:) ls:< fo:# de:> va:} ch:? sh:) n4:( rl:? br:^ js:( ie:% fl:( mo:)
            http://emmanuel.dammerer.at/selfcode.html
  2. Hallo!

    Ich suche schon seit Stunden nach einer Möglichkeit in meiner eigenen Fehlerseite, die ich in PHP geschrieben habe, die im Browser eingegebene Adresse auszulesen, um diese dann in einer MySQL Datenbank zu speichern.

    Die Fehlerseite wird über die .htaccess Datei aufgerufen.

    Mit ErrorDocument 404 /error404.php ?

    Da muß ein anders Problem vorliegen, bei mir funktioniert:
                                       ),
                 "infotext" => array("DE" => "Die angeforderte Seite »" . $tmp . "« existiert nicht. Bitte wählen Sie eine vorhandene Seite aus:",
                                     "EN" => "The requested page »" . $tmp . "« does not exist. Please choose an existing one:"
                                    ),

    Wobei $tmp=$_SERVER['REQUEST_URI'].

    Beste Grüße
    Viennamade

    1. Super! Habs hinbekommen! :-)

      Es lag daran, dass ich bei mir die Fehlerseite (error404.php) voll mit http:// angegeben hatte! Dann hat der Apache einen externen Redirect gemacht!

      Danke für die schnellen Antworten!

      Matthias

      1. hallo,

        Super! Habs hinbekommen! :-)

        Glückwunsch.

        Es lag daran, dass ich bei mir die Fehlerseite (error404.php) voll mit http:// angegeben hatte!

        Ja, na und? Auch das ist prinzipiell möglich, sofern die angegebene Adresse existiert. Siehe http://httpd.apache.org/docs-2.0/mod/core.html#errordocument und http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf16.htm#a3

        Grüße aus Berlin

        Christoph S.

        1. hi,

          Es lag daran, dass ich bei mir die Fehlerseite (error404.php) voll mit http:// angegeben hatte!

          Ja, na und? Auch das ist prinzipiell möglich, sofern die angegebene Adresse existiert.

          ja, möglich ist es selbstverständlich - aber durch den redirect enthält dann $_SERVER['REQUEST_URI'] eben pfad/name der 404-datei, und nicht mehr der ursprünglich angeforderten, und genau das war ja hier das problem.

          gruß,
          wahsaga

          --
          "Look, that's why there's rules, understand? So that you _think_ before you break 'em."