Al momento è Webmaster del portale XoopsItalia.
0. Introduzione
Nel presente tutorial vedremo come personalizzare le pagine d'errore del nostro server inserendo la grafica del nostro portale e integrando il tutto in maniera trasparente.
Per gli esempi ho utilizzato una installazione di test di Xoops 2.0.13.2 con tema blue_lagoon.

Cos'è una pagina d'errore?
E' semplicemente una pagina (spesso HTML) su cui venite indirizzati dal server web qualora si verifichi una richiesta errata o una generica situazione d'errore, come ad esempio la richiesta di una pagina inesistente o un crash del server.
Se provate a digitare sul vostro portale l'indirizzo http://www.tuosito.com/paginainesistente.php, verrete indirizzati sulla relativa pagina d'errore (codice errore: 404).

Da qui l'esigenza per un portale serio di personalizzare le ErrorPages.
1. Il file .htaccess
Se nel vostro sito avete installato il modulo Protector o se avete un minimo di dimestichezza con le tematiche di Sicurezza, avrete già incontrato questo utilissimo file di configurazione di Apache; in questo caso lo utilizzeremo per sovrascrivere le informazioni relative al redirect del server web in caso di errore.
Aprite pertanto il file .htaccess della vostra root, è inserite il seguente codice:
ErrorDocument 401 http://www.tuosito.com/errorpages/401.php
ErrorDocument 403 http://www.tuosito.com/errorpages/403.php
ErrorDocument 404 http://www.tuosito.com/errorpages/404.php
ErrorDocument 500 http://www.tuosito.com/errorpages/500.php
Nel mio caso il dominio corrisponde a ermes, ovvero il nome del mio sistema locale utilizzato, per cui i miei link saranno qualcosa del tipo http://ermes/errorpages/400.php.
2. Le pagine d'errore
Errore 400 – Richiesta errata (Bad Request)
Errore 401 – Necessaria autorizzazione (Authorization required)
Errore 403 – Accesso negato (Forbidden)
Errore 404 – Pagina non trovata (Not found)
Errore 500 – Errore interno del server (Internal server error)
Create la cartella /errorpages e create uno dei file php visti sopra, ad esempio il file 404.php.
Apritelo nel vostro editor e aggiungete il codice standard Xoops:
include("../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
include(XOOPS_ROOT_PATH."/footer.php");
?>
include("../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
?>
404: pagina non trovata
Siamo spiacenti, ma la pagina cercata è insesistente o è stata rimossa.
include(XOOPS_ROOT_PATH."/footer.php");
?>
Se invece volete intraprendere la via del CSS, rendendo il tutto graficamente migliore e più semplice da gestire, la vostra pagina d'errore dovrà contenere qualcosa del genere:
include("../mainfile.php");
include(XOOPS_ROOT_PATH."/header.php");
echo "<div class="blockErrorTitle">404: Pagina non trovata</div>";
echo "<br style="clear:both">";
echo "<div class="blockErrorContent">Siamo spiacenti, ma la pagina cercata è inesistente o è stata rimossa.</div>";
echo "<a href="history.go(-1)">Torna indietro</a></div>";
include(XOOPS_ROOT_PATH."/footer.php");
?>
Inoltre ho dovuto eliminare il tag javascript : davanti a history.go(-1) per lo stesso motivo.
Stavolta il lavoro non è già finito. Come potete vedere abbiamo deciso di utilizzare due classi div personalizzate, blockErrorTitle e blockErrorContent che dobbiamo definire all'interno del file style.css del nostro tema.
Aprite tale file e in coda inserite le due classi personalizzate:
background-color: #ffcccc;
text-align:center;
border: 1px dashed #ff0000;
margin: 10px;
font-family: Verdana, Courier New, Courier, Monospace;
padding: 10px;
font-weight: bold;
font-size: x-large;
float: left;
}
div .blockErrorContent{
text-align: justify;
margin: 10px;
font-family: Verdana, Courier New, Courier, Monospace;
padding: 10px;
}
Uno dei vantaggi dell'utilizzo della tecnica dei CSS è quella di poter modificare completamente l'aspetto della pagina, semplicemente giocando con le varie proprietà specificate nelle due classi personalizzate. In questo tutorial ad esempio abbiamo optato per un titolo ben visibile con sfondo rosso chiaro e bordo tratteggiato e un testo semplice, ma le possibili variazioni sul tema sono infite.
include(XOOPS_ROOT_PATH."/header.php");
echo "echo "<div class="blockErrorTitle">403: Accesso negato</div>";
echo "<br style="clear:both">";
echo "echo "<div class="blockErrorContent">Siamo spiacenti, ma l'accesso alla pagina richiesta è proibito.</div>";
echo "<a href="history.go(-1)">Torna indietro</a></div>";
include(XOOPS_ROOT_PATH."/footer.php");
?>


Oggi: 0
Ieri: 1
Totali: 5666
Ospiti : 5
Membri : 0
Totali: 5



:

.




















