Se Apache verifica che la richiesta effettuata da un client non può essere soddisfatta per un qualsiasi motivo, ne tiene traccia sull'error log ed invia un messaggio di errore al client.
La configurazione standard di Apache, fa si che ad ogni errore venga generata una pagina HTML che contiene l'error code indicativo delle ragioni che hanno generato l'errore.
Tramite la direttiva ErrorDocument si ha la possibilità di customizzare la risposta del server per ogni errore. Richiede due parametri: l'error code a cui riferirsi e l'azione da eseguire (di solito la pagina da visualizzare).
Si ha la possibilità di utilizzare il template di default generato on-the-fly dal server e customizzare semplicemente il messaggio che viene visualizzato.
ErrorDocument 404 "Risorsa non disponibile"
Altrimenti si ha la possibilità di redirezionare ad una pagina html del tutto customizzata.
ErrorDocument 404 /errors/404.html
Si può anche decidere di far visualizzare l'home page di un sito ogni volta che si cerca di accedere ad una pagina non trovata:
ErrorDocument 404 /
La soluzione di customizzazione dei messaggi di errore risulta una pratica comune ed elegante per l'erogazione del servizio (talvolta vengono utilizzati anche, piccoli script cgi per generare in modo del tutto dinamico le pagine customizzate).
La direttiva ErrorDocument presenta delle piccole limitazioni:
- Se la direttiva viene utilizzata per puntare ad uno script esterno al server non si possono definire nessun tipo di variabile.
- Non è possibile utilizzare la direttiva ErrorDocument per eseguire un redirect per l'errore 401 Authentification Error, ad una risorsa esterna.
Gli header HTTP e la loro customizzazione. Gestione degli errori.
Gestione degli errori su Apache
Un demplice appunto no n ai contenuti che sono buoni ma alla forma: customizzare potrebbe essere elegantemente sostituito con "personalizzare",
RispondiErrorDocument
Personalizzando il messaggio visualizzato dalla direttiva ErrorDocument è necessario mettere le doppie virgolette solamente *all'inizio* del messaggio:
ErrorDocument 404 "Risorsa non disponibile