Gibt es sowas wie $ENV{'DOCUMENT_URI'}
Jan
- cgi
Hallo,
ich puzzle gerade an einem script,
mit dem ich die "Wanderung" meiner BesucherInnen checken möchte.
Ich will einfach wissen, ob die Seiten interessant sind,
und die Leute ein bischen drauf rumklicken,
oder ob ich die Navigation optimieren muss etc.
Also dachte ich ein kurzes script überall einbinden,
was einfach nur IP, Zeitstempel und $ENV{'REQUEST_URI'} loggt.
Schade nur, dass REQUEST_URI eher den REFERER ausgibt.
Also nicht die Seite, in die das script eingebunden ist,
sondern es sagt mir, aus dem Navigationsframe aufgerufen zu werden.
Gibt es sowas wie $ENV{'DOCUMENT_URI'}
oder muss ich den echo var an den Query String hängen
und dann auslesen?
Danke und Viele Grüsse, Jan
Hi!
Was hälst Du von Serverlogfiles?
Clemens
Was hälst Du von Serverlogfiles?
Hi Clemens,
ist mir zu umständlich und mein altes WebSuccess 3 scheint
mit den Logs auch nicht mehr kompatibel zu sein.
So könnte ich mir quasi "on the fly"
schnell und aktuell die Daten ausgeben lassen.
Grüsse, Jan
Hi,
Was hälst Du von Serverlogfiles?
und wo bekommen die Logfiles die Information her?
Vom lieben Gott? ;-)
Vielleicht sollte man mal überlegen, ob man nicht gezielt auf eine Frage antwortet, weil sie u.U. auf bestimmte Ideen abzielt.
Reiner
Hi,
Was hälst Du von Serverlogfiles?
und wo bekommen die Logfiles die Information her?
Vom lieben Gott? ;-)
Good is a Apache!
Hi Reiner!
Welche Laus ist Dir über die Leber gelaufen?
Vielleicht sollte man mal überlegen, ob man nicht gezielt auf eine Frage antwortet, weil sie u.U. auf bestimmte Ideen abzielt.
Vielleicht sollte man mal die Möglichkeit in Betracht ziehen, dass man vor lauter Wald die Bäume nicht mehr sieht, sprich einen output per Script erzeugt (oder erzeugen will), den z.B. der Apache standardmäßig liefert, Afaik sind genau die Angaben, die Jan haben will in apache/logs/access.log
Clemens
Hi!
Welche Laus ist Dir über die Leber gelaufen?
Keine, so direkt!
Vielleicht sollte man mal überlegen, ob man nicht gezielt auf eine Frage antwortet, weil sie u.U. auf bestimmte Ideen abzielt.
Vielleicht sollte man mal die Möglichkeit in Betracht ziehen, dass man vor lauter Wald die Bäume nicht mehr sieht, sprich einen output per Script erzeugt (oder erzeugen will), den z.B. der Apache standardmäßig liefert, Afaik sind genau die Angaben, die Jan haben will in apache/logs/access.log
Deine Antwort geht in keinster Weise auf die ursprüngliche Frage ein!
Wenn jemand fragt, wie Marmorkuchen gebacken wird, sagst Du sicher auch nicht als erstes, daß es da so Packungen von Dr. Öttger gibt...
Deine Antwort sagt aus, wie man die Sprünge über die Seiten filtern kann, aber dazu muß das auch in den Logs so gespeichert sein. Wenn das aber nicht drin ist, der Mensch keinen Apache hat?
Und: Die Frage zielte darauf ab, mit welchen Environmentvariablen man das filtern könnte (das macht der Server nicht anders), also wie das DIREKT auswerfen kann, oder?
Alles Gute,
Reiner
Hallo,
[...]
Gibt es sowas wie $ENV{'DOCUMENT_URI'}
oder muss ich den echo var an den Query String hängen
und dann auslesen?
hilft Dir vielleicht $ENV{'HTTP_REFERER'} weiter?
Reiner
Hallo,
[...]
Gibt es sowas wie $ENV{'DOCUMENT_URI'}
oder muss ich den echo var an den Query String hängen
und dann auslesen?
hilft Dir vielleicht $ENV{'HTTP_REFERER'} weiter?
Hi Reiner,
nee, leider nicht. Dann habe ich auch nur 50x "menu.html",
ohne zu wissen, welche Seite aufgerufen wird :o(
Erste spannende Erfahrungen:
Die Leute klicken zwar oft auf das Framemenu,
aber eine Stufe weiter (das Untermenu auf den Einzelseiten)
wird das echt wenig ...
Das gibts wohl noch was zu optimieren.
Viele Grüsse, Jan
Hi Reiner,
nee, leider nicht. Dann habe ich auch nur 50x "menu.html",
ohne zu wissen, welche Seite aufgerufen wird :o(
Achso, Du wolltest praktisch den Top-Frame...
Guck mal auf http://cgi.xwolf.de/cgi/environment.shtml. Da sind die die Variablen schön aufgelistet. DOCUMENT_URI gibt es tatsächlich.
Vielleicht hilft das ja weiter?
Alles Gute,
Reiner
Hi Reiner,
war ein guter Link, hat aber leider nicht weitergeholfen.
Der holt den DOCUMENT_URI auch über ssi (denk ich mal)
Das script dort ist ziemlich identisch mit FrankSs
http://forum.de.selfhtml.org/?m=72696&t=13137 bzw.
der Self env.pl
http://selfhtml.teamone.de/cgiperl/intro/umgebungsvariablen.htm
Viele Grüsse, Jan
Hi Jan,
war ein guter Link, hat aber leider nicht weitergeholfen.
Der holt den DOCUMENT_URI auch über ssi (denk ich mal)
äh, ja und?
Was soll Deiner Meinung nach der Unterschied zwischen der
Environment-Versorgung von SSI und CGI sein?
Viele Grüße
Michael
Hallo
Gibt es sowas wie $ENV{'DOCUMENT_URI'}
Welche Enviroment-Vars gesetzt werden, hängt u.a. von der Konfiguration des Webservers ab. Du kannst Dir alle ausgeben lassen mit dem kleinen Scriptchen hier.
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML><BODY><TABLE BORDER=0 cellspacing=0 cellpadding=0>\n";
print "<TR><TD>$_</TD><TD> </TD><TD>$ENV{$_}</TD></TR>\n" for (sort keys %ENV);
print "</TABLE></BODY></HTML>\n";
oder muss ich den echo var an den Query String hängen
und dann auslesen?
Ich habe auch auf einigen Seiten so ein "logger". Das ist ein per <img src="access.pl?SEITENNAME"> eingebundenes Script, welches einfach den $ENV{'QUERY_STRING'} und "IP, Host, UserAgent, Timestamp" loggt und ein transparentes 1px-GIF zurückgibt. Funktioniert nur bedingt, denn auch das GIF wird gecached und dann wird nur geloggt, wenn's nicht im Cache ist. (Bei mir gabs auch keine passende $ENV.)
Gruß Frank
Hi Frank,
Danke, das war schon mal ne gute Idee.
Ich habe noch +window.location.pathname+ rangehängt,
und das funktioniert soweit.
Mit dem Cache ist auch ein guter Einwand.
Werde ich mal beobachten und ggf. doch 'ne ssi-version schreiben.
Da gibt es nämlich den <!--#include virtual="access.pl?DOCUMENT_URI" -->
Damit ist eine Referer-Abfrage aber wieder unpräziser.
(Falls man so'n all-in-one-script haben will)
Viele Grüsse, Jan
Hallo Jan
Danke, das war schon mal ne gute Idee.
Ich habe noch +window.location.pathname+ rangehängt,
und das funktioniert soweit.
ja, aber nur, wenn der User JavaScript auch eingeschaltet hat...
Gruß Frank