sabato 18 aprile 2020

Come configurare Apache per utilizzare pagine di errore personalizzate.

Apache è il server web più utilizzato al mondo per tutta una serie di motivi tra cui spicca sicuramente anche la flessibilità. Può capitare che se siete sviluppatori, web designer, curiosi o altro abbiate l'esigenza di personalizzare ogni aspetto delle pagine del vistro sito web, comprese le pagine di errore.


Per associare ad ogni tipo di errore del nostro web server Apache una pagina personalizzata, possiamo utilizzare la direttiva "ErrorDocument" all'interno del file di configurazione dell'host, nel mio caso /etc/apache2/sites-enabled/default-ssl.conf perché utilizzo solo https, altrimenti avrei editato il file 000-default.conf, nel seguente modo:

<VirtualHost _default_:443>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ErrorDocument 404 /custom_404.html
    ErrorDocument 500 /custom_50x.html
    ErrorDocument 502 /custom_50x.html
    ErrorDocument 503 /custom_50x.html
    ErrorDocument 504 /custom_50x.html

</VirtualHost>

Come potete vedere la struttura è la seguente: Direttiva (ErrorDocument), Tipo di errore (404 etc..), Path alla pagina custom (/custom_404.html etc..), questo comporta che ogni qualvolta si verificherà uno specifico errore, verranno restituite la vostre paginae personalizzate che in questo caso si trovano nella root del server web. Ovviamente sono file .html per cui potete dare ampio spazio alla vostra fantasia, ma fate sempre attenzione alla sicurezza soprattutto se avete in mente di utilizzare script e robe varie.

Testiamo la nuova configurazione con il comando:

sudo apache2ctl configtest

e non ci dimentichiamo di riavviare Apache con il comando:

sudo systemctl restart apache2.

Non ci resta che testare il tutto simulando pagine inesistenti attraverso il browser con un url tipo questa:

http://localhost/jshgjkhdg

Chest'è! (That's all)


Nessun commento:

Posta un commento