aangepaste "error" paginas

Plaats reactie
Gebruikersavatar
Erik
Elite Poster
Elite Poster
Berichten: 1321
Lid geworden op: 15 sep 2002, 02:46
Uitgedeelde bedankjes: 2 keer
Bedankt: 18 keer

hi skynetters,

vinden jullie dat ook niet lelijk die pagina dat internet explorer u toont als er een fout is bv "404 file not found" wel alsde apache gebruikt kan je dat bewerken

<?php
$html_401 = "http://www.server.be/404.php";
$html_403 = "http://www.server.be/403.php";
$html_404 = "http://www.server.be/404.php";
$html_500 = "http://www.server.be/500.php";
$mail = 1;
$to = '[email protected]';
$subject= "Error on your website";
$body = "";
$url =getenv("HTTP_REFERER");
$ip= getenv("REMOTE_ADDR");

if($QUERY_STRING == '401'){
$body="there is a 401 error on your website $url ";
Header("Location:$html_401");
}
if($QUERY_STRING == '403'){
$body="there is a 403 forbidden error on your website $url ";
Header("Location:$html_403");
}
if($QUERY_STRING == '404'){
$body="there is a 404 not found error on your website $url ";
Header("Location:$html_404");
}
if($QUERY_STRING == '500'){
$body="there is a 500 internal server error on your website $url ";
Header("Location:$html_500");
}
else{
print "there has been an unknown error !!!!";
}
if($mail ==1){
mail("$to","$subject","$body,$ip");
}
?>



nu moet je nog het configuratie bestand van apache "httpd.conf" bewerken

accessFileName .htaccess

dit doe je voor alle errors die je wilt veranderen
ErrorDocument 401 http://www.server.be/error.php?401

en nu maak je een bestand en je noemt dat ".htaccess.txt"

ErrorDocument 401 http://www.server.be/error.php?401
ErrorDocument 403 http://www.server.be/error.php?403
ErrorDocument 404 http://www.server.be/error.php?404
ErrorDocument 500 http://www.server.be/error.php?500

upload het naar je website (maar rename het eerst naar ".htaccess"")


natuurlijk ga ik er hier van uit dat het script "error.php" noemt


elke keer er nu een fout is ontvang je een e-mail bericht tenminste als de php functie mail(); fatsoenlijk is geconfigureerd :mrgreen:

greetz

Erik
Registered Linux user #286313
Nob
Erelid
Erelid
Berichten: 3373
Lid geworden op: 09 sep 2002, 18:19
Locatie: Belgium, Bever
Uitgedeelde bedankjes: 87 keer
Bedankt: 109 keer
Contacteer:

Bedankt voor de uitleg Erik! Kan handig zijn voor sommige mensen hier! (en voor mij ook eens de dedicated er is ;) )

Nob
The Oddity
Elite Poster
Elite Poster
Berichten: 5008
Lid geworden op: 15 sep 2002, 17:58
Locatie: Belgium, Ghent
Contacteer:

Handig, tot nu toe werkte ik enkel met de htaccess errordocument ...., maar die mailfunctie met ip is wel handig voor errordetectie.

Thx m8
I love it when a plan comes together!
Gebruikersavatar
All Your Base
Plus Member
Plus Member
Berichten: 190
Lid geworden op: 17 sep 2002, 11:57

Nog een laaaaaate opmerking (heb net zelf zoiets geimplementeerd):

om de url te weten te komen die werd opgevraagd moet je getenv('REDIRECT_URL') of $_SERVER['REDIRECT_URL'] gebruiken. HTTP_REFERER wordt (al dan niet) door de client ingesteld, en was in mijn geval altijd leeg, terwijl REDIRECT_URL door de server zelf wordt ingesteld en dus altijd correct is.

Bovendien kan je via $_SERVER['REDIRECT_STATUS'] altijd de huidige errorcode te weten komen (bvb. 404) zodat je dit niet in de URL hoeft mee te geven.
Gebruikersavatar
dis.pater
Starter Plus
Starter Plus
Berichten: 44
Lid geworden op: 30 mei 2003, 17:44
Contacteer:

Krijg je REDIRECT_URL op die manier?

Ik dacht dat je die enkel kreeg als je geen url opgaf, maar een pad vanaf de map.

dus bvb /error.php ipv http://saait.tld/error.php
Plaats reactie

Terug naar “Development”