Originariamente inviato da heroes3
è un po che smanetto perchè mi hai fatto venire il dubbio anche a me dove poteva essere il tuo errore
a seguito di test ho appurato che il referer funziona se clicchi (quindi con l'interazione dell'utente) e non reindirizzandolo automaticamente quindi l'errore sta li nel HTTP_Referer che non legge la pagina di provenienza
ciao. questa notte ho risolto usando php e javascript
ecco il codice:
Codice PHP:
<?
if(!isset($_GET['url'])){
?>
<script language="JavaScript">
var i = window.location.href;
var k = document.referrer;
var uri = i.replace("http://www.sitomio.com/","");
var p = "http://www.sitomio.com/404_personal.php"+"?url="+uri+"&ref="+k;
location.href=p;
</script>
<?
} else {
$url = $_GET['url'];
$ref = $_GET['ref'];
unset($_GET);
?>
<meta http-equiv="refresh" content="5;URL=http://www.******.com">
<?
// per ottenere l'url che ha generato l'errore
$from = "***********";
$pagina = "http://".$_SERVER['HTTP_HOST']."/".$url;
$referer = $ref;
$ip = $_SERVER['REMOTE_ADDR'];
$to= $from;
$subject= "Errore 404 - ********.com";
$mailheaders= "From: $from";
$body .= "Un errore 404 Error si è verificato nel tuo sito:\n\n\n";
$body .= "pagina richiesta: ".$url."\n\n";
if($referer != ""){
$body .= "Referer: ".$referer."\n\n";
}
$body .= "Ip utente: ".$ip."\n\n";
// ora invia la mail
mail($to, $subject, $body, $mailheaders);
}
?>
così facendo funziona. Però mi nella barra degli indirizzi non ho più la pagina digitata dall'utente (quella inesistente) ma la 404_personal.php
secondo me è anche un problema di settaggi nel webserver iis (che io da 0 a 10 conosco 1)