Abfrage der URL möglich, die 404er Error verursacht hat?
Mike
- cgi
0 Utz Grimminger0 Reiner
0 Cheatah0 Julian Hofmann0 Mike
Hallo,
Grundsätzlich möchte ich bei einem 404er-Error feststellen, welche falsche URL den Error verursacht hat. Dazu möchte ich, auf einer eigenen 404-Error-Seite, automatisch ein CGI-Skript starten, das u. a. das feststellt. Ich hab' allerdings keine Ahnung, was ich dazu abfragen muss... Weiß vielleicht jemand, wie, bzw. ob ich an diese URL-Daten irgendwie herankomme?
Thanx
Mike
Hi Mike,
bei den Servern, die ich kenne, wird jede angefragte URL in den Logfiles mitprotokolliert (ob vorhanden oder nicht) und jeweils dazu der HTTP-Status, also z.B. auch 404.
Ein erster Schritt wäre also, erst mal Deine Logfiles genauer unter die Lupe zu nehmen.
Grüße,
Utz
Hi Mike,
bei den Servern, die ich kenne, wird jede angefragte URL in den Logfiles mitprotokolliert (ob vorhanden oder nicht) und jeweils dazu der HTTP-Status, also z.B. auch 404.
Ein erster Schritt wäre also, erst mal Deine Logfiles genauer unter die Lupe zu nehmen.Grüße,
Utz
Mit Apache geht das viel eleganter mittels .htaccess!
Suche mal im Archiv nach "GUARDIAN". Ich weiß im Moment den URL nicht.
Reiner
Hi,
Grundsätzlich möchte ich bei einem 404er-Error feststellen, welche falsche URL den Error verursacht hat. Dazu möchte ich, auf einer eigenen 404-Error-Seite, automatisch ein CGI-Skript starten, das u. a. das feststellt. Ich hab' allerdings keine Ahnung, was ich dazu abfragen muss... Weiß vielleicht jemand, wie, bzw. ob ich an diese URL-Daten irgendwie herankomme?
Du leitest in der Serverkonfiguration (httpd.conf oder .htaccess) mittels ErrorDocument weiter, richtig? Dann steht die Redirect-URI im System-Environment. Wenn Du nicht genau weißt, wo - gib es doch einfach mal komplett aus! Schreibe in Dein Error-Script
foreach (sort keys %ENV) { print "$_: $ENV{$_}"; }
(falls Du Perl benutzt)
Ein kleiner Test, eine kleine Suche, und Du hast Dein Ding :-)
Cheatah
Hallo Mike,
habe keine Ahnung inweiweit es vom Server bzw. dessen Konfiguration abhängt. Bei mir würde nachfolgendes kleine Script schon alles zutage bringen:
--
print "Content-type: text/html\n\n";
print "F e h l e r c o d e: Apache Error $ENV{'REDIRECT_STATUS'}<BR>\n";
if ($ENV{'HTTP_REFERER'}) {
print "Fehlerhafter Dateiaufruf in: $ENV{'HTTP_REFERER'}<BR>\n";
}
print "Folgende Datei sollte aufgerufen werden: http://$ENV{'HTTP_HOST'}$ENV{'REQUEST_URI'}<BR>\n";
--
Hoffe es bringt Dich ein Stück weiter.
Grüße aus Bayreuth
Julian
Hi,
über $ENV{'HTTP_REFERER'} kann ich's abfragen.
Danke Euch.
Ciao,
Mike
Hi,
über $ENV{'HTTP_REFERER'} kann ich's abfragen.
Danke Euch.
Es geht noch viel mehr:
<img src="/images/02.gif" alt="">
<../../sfarchiv/1999_4/t08519.htm#a43082>.
mfG - Michael