ASP Landing Page mit Redirect

Peter Schneider

Legendäres Mitglied
Hallo!

Ich kenn mich mit ASP leider nicht aus und habe keine Möglichkeit selbst zu testen. Ein Werbekunde von mir soll aber den Trafik, den ich ihm sende, in seinen Server-Stats messen können...

Bislang hat er lediglich die "Referer" dafür genommen, was je nach meinem eigenen Tracking zu sehr grossen Abweichungen führt.

Kann mir jemand eine sichere Lösung für das Tracking beim Kunden unter ASP geben? Wird eine Seite
landingpage.asp mit einem redirect nach richtigeseite.asp in den Serverstats getrackt und wie sähe der ASP-Code für das Redirect auf landingpage.asp aus?
Redirect muss nicht search-engine-friendly sein!

Somit:

meine Seite -> eigenes Tracking -> landingpage.asp -> richtigeseite.asp

Bzw. gäbe es eine einfache(re) Lösung?

Grüsse
 
Ist dies das 'alte ASP' oder das 'neuere ASP.NET'? (Neu ist das ja auch nicht mehr, das gibt es seit 2002).

Beim alten weiß ich es nicht mehr so genau.

Beim neueren kann man bsp. der Seite eine Klasse zuordnen und in dieser so ziemlich beliebigen Code ausführen: Datenbank abfragen, eigentliche Ziel-Url ermitteln, diverse Zeilen in die Datenbank schreiben, tatsächlich weiterleiten.

Letzteres ist dann eher banal:

CODE With Me.Response
.Clear()
.Write("<html><head><meta http-equiv='content-type' content='text/html; charset=utf-8' /><meta http-equiv='expires' content='0' />" & _
"</head><body>Die aktuelle Seite ist nicht gültig.<p/>Wenn Ihr Browser Sie nicht weiterleitet, klicken Sie bitte auf den folgenden Link:" & _
"<p/><a href='" & str_Destination & "'>" & str_Destination & "</a><p/>" & _
"Dies kann bsp. auftreten, falls ein Proxy dazwischengeschaltet ist.</body></html>")

.RedirectLocation = str_Destination
.StatusCode = i_statusCode
.Flush()
.End()
End With


Der Statuscode läßt sich beliebig setzen.

Man kann also die Protokollierung direkt selbst festlegen, indem man die gewünschten Daten vor dem Redirect in die Datenbank schreibt.
 
Hallo!

Dateiendungen dort sind: aspx
Aber ich kann auch mal nachfragen.

Ich habe mit Windows-Server ziemlich nichts am Hut und kann dort auch nicht einfach testen. Ich möchte eine Lösung, die in den Log-Files deutlich erkennbar macht, dass ein Besucher von meiner Seite her gekommen ist. Also wenn mein Besucher auf eine Seite auftrifft und dieser Aufruf in den Logs erscheint: das ist ein "Minimumziel".

Wenn die Seite, auf die der Besucher trifft, schon gar nicht in den Server-Logs erscheint (also bei 301 und 302), dann bringt das System nichts. Ich tendiere wirklich auf eine Unterseite mit einem simplen Meta Refresh.

Jürgen, wie kannst einen Redirect nach html-Code einfügen?. Das geht also in PHP definitiv nicht! Der http-Status-Code muss doch vor allem anderen gesendet werden?

Grüsse!
 
QUOTE (Peter Schneider @ Mo 3.11.2008, 22:05)Dateiendungen dort sind: aspx


aspx ist ASP.NET, also die aktuelle Version.


QUOTE (Peter Schneider @ Mo 3.11.2008, 22:05)Wenn die Seite, auf die der Besucher trifft, schon gar nicht in den Server-Logs erscheint (also bei 301 und 302), dann bringt das System nichts. Ich tendiere wirklich auf eine Unterseite mit einem simplen Meta Refresh.


Ein Kunde von Server-Daten nutzt das, um seine Ziellinks von verschiedenen Domains auf verschiedene Affili-Ziele über seine sd-Datenbank zu verwalten. Da wird dann immer nach dem obigen Schema per 301 weitergeleitet. Das sind täglich stapelweise solche Aufrufe, die auch immer direkt in der Datenbank dieses Kunden protokolliert werden. Kann man irre Statistiken daraus bauen
laugh.gif


Grade habe ich in den rohen IIS-Logs nachgesehen: Da steht das immer korrekt mit Status 301 drin. Man kann allerdings bei der Protokollierung eine schwächere Variante konfigurieren, dann würde der Status fehlen. Das hängt also etwas davon ab, ob der IIS konfigurierbar ist. Bei einem dezidierten Server ist das kein Problem, bei angemietetem Webspace könnte das Probleme geben.



QUOTE (Peter Schneider @ Mo 3.11.2008, 22:05)Jürgen, wie kannst einen Redirect nach html-Code einfügen?. Das geht also in PHP definitiv nicht! Der http-Status-Code muss doch vor allem anderen gesendet werden?


Öhm, ich wußte bis jetzt nicht, daß das in PHP nicht geht.
tongue.gif
In .NET ist das jedenfalls kein Problem. Den obigen Code hatte ich irgendwann mal eingefügt, nachdem ich das mit Opera und irgendeiner ganz komischen Konfiguration getestet hatte.

Man muß allerdings einen Eintrag in der web.config setzen:


CODE <configuration>
<system.web>
<caching>
<outputCache enableOutputCache = "false" />
</caching>
</system.web>
</configuration>


Aber dann funktioniert das. Wenn man dieses 'false' auf 'true' setzt, dann gibt es eine analoge Fehlermeldung zu jenem PHP-Fehler 'Header already sent'.
 
Zurück
Oben