Salve a tutti
ho seguito un tutorial dove spiegano come creare una pagina 404 personalizzata da usare insieme al file .htaccess e che invia una email contenente il link della pagina che si stava cercando di aprire.
Funziona tutto ma quando apro l'email esce l'url della pagina 404
In pratica creo il file config.php che contiene l'indirizzo email ed il sito che ha generato l'errore:
Codice PHP:
$mailto = "info@miosito.it";
$url = "http://miosito.it/";
poi creo la mia bella pagina 404 con la grafica che voglio ed all'inizio ci metto il mio codice per inviare l'email richiamando il config:
Codice PHP:
require_once ("inc/config.php");
//indico la pagina che non dovrebbe più esistere
$where = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
//INVIO L'EMAIL PER ATTIVARE L'INDIRIZZO DI POSTA
require_once('inc/phpmailer/class.phpmailer.php');
$mail = new PHPMailer(true); // the true param means it will throw exceptions on errors, which we need to catch
$mail->IsSMTP(); // telling the class to use SMTP
try {
$mail->IsSMTP(); // abilitiamo l'SMTP
include("inc/smtp.php");
$mail->AddAddress("info@dominio.it", "miodominio.it");
$mail->SetFrom("info@miosito.it", "miodominio.it");
$mail->AddReplyTo('info@miosito.it', "miodominio.it");
$mail->Subject = "Pagina 404 su miodominio.it";
$mail->AltBody = "Per vedere questa email devi utilizzare un client abilitato ad aprire le email in html"; // optional - MsgHTML will create an alternate automatically
$mail->Body = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html><body>
<font face=Verdana size=2>
Un errore 404 si è verificato nel tuo sito $url<br><br>
La pagina richiesta era $where<br>
</font></body></html>";
$mail->Send();
echo "";
} catch (phpmailerException $e) {
echo $e->errorMessage(); //Pretty error messages from PHPMailer
} catch (Exception $e) {
echo $e->getMessage(); //Boring error messages from anything else!
}
Quando mi arriva l'email la variabile $where mi dice che il file si trova su miosito.it/404.php mentre dovrebbe dirmi da quale pagina realmente o da quale url digitato proviene.
Come mai non mi da questa informazione?