Exportieren als PDF - ECS

Transcription

Exportieren als PDF - ECS
Automatische Weiterleitung von Besuchern basierend auf HTTP_REFERER
Frage:
Wir bekommen laut Statistik jede Menge Besucher von sonstwo und wie diese
kamen, so verschwanden sie auch wieder.
1. Es wäre praktisch, wenn man wüßte, woher der Besucher überhaupt kam und was
dieser ggf. bei Google gesucht hat
2. Auf der Seite, wo der Besucher gelandet ist, z.B. Startseite, findet er vielleicht die
passendere Seite nicht und geht wieder.
Antwort:
Wir haben uns ein PHP-Script geschrieben. Dies wird GANZ AM ANFANG jeder Seite
eingefügt.
Was macht das Script genau?
- Es loggt jede Besucherherkunft (HTTP_REFERER) und Abfrage mit. Wir loggen
keine IP-Adressen wegen Datenschutz.
- Wir vergleichen bestimmte Keywords + seine Einstiegsseite und leiten den
Besucher ggf. per sofortigen REFRESH weiter.
Sinn der Sache ist daher, Besucher möglichst auf die Seiten zu leiten, wo sie
vermutlich auch den passenden Inhalt finden. Eingehende Links auf die Startseite
sind zwar schön, aber bei vielen Produkten ist es schon eine Herausforderung für
jeden neuen Besucher, sich hier zurecht zu finden. Natürlich könnte man auch statt
der Weiterleitung dynamischen Content einbinden oder Texte grafisch hervorheben
etc. - das Script macht hier hoffentlich einen guten Anfang.
Hinweis:
Das PHP Script macht das, was es soll. Auf besonders tolle PHP Coding wurde nicht
geachtet. ;-) Der SQL-Befehl funktioniert nur, wenn Ihr eine Datenbankverbindung
bereits bestehen habt!
<?php
define(UNSEREURL,"www.ecs-webhosting.de");
function RefererCheck()
Automatische Weiterleitung von Besuchern basierend auf HTTP_REFERER
{
global $redirect;
$referer_query = strtolower($_SERVER['HTTP_REFERER']);
$referer_query = urldecode($referer_query);
$referer_query = str_replace("%20"," ",$referer_query);
$referer_query = str_replace("%22","/",$referer_query);
// Google Suche
if (substr($referer_query,0,17) == "http://www.google")
{
$referer_domain = "GOOGLESUCHE";
// Die Suchabfrage herausfinden
if (ereg("&q=",$referer_query))
{
$referer_query = substr($referer_query,strpos($referer_query,"&q=")+3);
if (strpos($referer_query,"&") > 0)
{
// Query gefunden, alles danach abschneiden (wenn vorhanden)
$referer_query = substr($referer_query,0,strpos($referer_query,"&"));
}
}
// Beispiel 1: Wer SSL will, soll auch SSL bekommen und nicht die Startseite
index.php
if ((ereg("zertifikat",$referer_query) || ereg("certificat",$referer_query)) &&
($_SERVER['PHP_SELF'] == "/de/index.php" || $_SERVER['PHP_SELF'] ==
"/en/index.php"))
{
Automatische Weiterleitung von Besuchern basierend auf HTTP_REFERER
$redirect_to = "http://www.ecs-webhosting.de/de/ssl.htm";
}
// Beispiel 2: Wer ASP.NET will, soll auch es bekommen und nicht die Startseite
index.php
if ((ereg("asp.net",$referer_query) || ereg("asp net",$referer_query)) &&
($_SERVER['PHP_SELF'] == "/de/index.php" || $_SERVER['PHP_SELF'] ==
"/en/index.php"))
{
$redirect_to = "http://www.ecs-webhosting.de/de/asp.net-4.0-hosting.htm";
}
}
// Adwords
if ($referer_domain == "" &&
ereg("http://googleads.g.doubleclick.net",$referer_query))
{
$referer_domain = "GOOGLE-ADWORDS";
if (ereg("&ref=",$referer_query))
{
$referer_query = substr($referer_query,strpos($referer_query,"&ref=",5));
if (strpos($referer_query,"&") > 0)
{
$referer_query = substr($referer_query,0,strpos($referer_query,"&"));
}
}
}
// Sind wir das selbst?
if ($referer_domain == "" && (substr($referer_query,0,strlen(UNSEREURL)+7) ==
Automatische Weiterleitung von Besuchern basierend auf HTTP_REFERER
"http://" . UNSEREURL || substr($referer_query,0,strlen(UNSEREURL)+8) ==
"https://" . UNSEREURL))
{
$referer_domain = "WIRSELBST";
$redirect_to = "";
}
if ($referer_domain != "WIRSELBST" && $redirect === FALSE)
{
$sSQL = "INSERT INTO referer_redirect (referer,query,ourpage) VALUES (
'$referer_domain',
'$referer_query',
'" . $_SERVER['PHP_SELF'] . "'
)";
$rs = mysql_query($sSQL);
}
return $redirect_to;
}
function RefererRedirect($sURL)
{
global $redirect;
// Keine URL, dann nichts zu tun
if ($sURL == "") return "";
// Session bereits vorhanden, dann nichts zu tun
if ($redirect === TRUE) return "";
// Session Cookie setzen, ansonsten geht das endlos :-(
Automatische Weiterleitung von Besuchern basierend auf HTTP_REFERER
$redirect = TRUE;
session_register("redirect");
print "
<html>
<body>
<head>
<meta http-equiv=\"refresh\" content=\"0;" . $sURL . "\">
</head>
</body>
</html>
";
die();
}
// Referer pruefen, ggf. automatisch weiterleiten
RefererRedirect(RefererCheck());
?>
ECS-Webhosting Support
http://support.ecs-webhosting.de/Programmierung/Automatische-Weiterleitung-von-Besuchern-bas