Questo tutorial ti mostrerà come creare una pagina di errore 404 con Joomla! 3.6.2
Con lo sviluppo di un sito internet è possibile che alcuni link puntino a pagine non più esistenti e, se il visitatore del tuo sito li richiama, viene dirottato alla pagina di errore 404. Lo scopo di questa pagina è quello di informare l'utente che la risorsa richiesta non è più disponibile
Il consiglio, per evitare che chi visualizza il sito rimanga deluso di fronte ad una pagina come questa, è quello di personalizzarla in modo da poter dare un consiglio utile (es. Un messaggio che comunica quando la pagina selezionata sarà nuovamente disponibile) o comunque da non bloccare l'utente durante la navigazione (es. Un link alla homepage)
Accedi al backend (solitamente nome_dominio.ext/administrator) del tuo sito
Dalla pagina principale crea un nuovo articolo tramite la funzione "Nuovo Articolo" nella sezione "CONTENUTI"
Come titolo dell'articolo puoi usare "404", personalizza il contenuto a piacimento e, come categoria, dovrai aver cura di non assegnarlo a nessuna categoria
Crea una nuova voce di menù cliccando sul menù a tendina "Menu", selezionando la voce "Menu principale" e quindi su "Nuova voce di menu"
A questa voce dovrai collegare l'articolo creato in precedenza, prendi nota (es. copiala su un file di testo) dell'url riportata nel campo "Link" e imposta lo stato su "Sospeso"
Collegati via ftp allo spazio web associato al tuo domino, spostati nella cartella del tuo template (per Joomla 3.x il template di default è "Protostar") e rinomina il file "error.php" in modo che il sistema non lo riconosca (es. "error-old.php")
Spostati in /public_html/templates/system e copia il file "error.php"
Questo file andrà incollato nella cartella del template che utilizzi (in questo caso si tratta del template "Protostar")
Modifica il file "error.php" affinché esegua un redirect alla pagina di errore che hai creato in precedenza. Per fare questo dovrai incollare sotto la riga "defined('_JEXEC') or die;" il seguente codice:
if (($this->error->getCode()) == '404') {
header('Location: /index.php?option=com_content&view=article&id=XXX');
exit;
}
Dovrai anche sostituire il path "/index.php?..." con quello che hai annotato in seguito alla creazione della voce di menù
Se stai utilizzando Joomla 1.5, invece, la porzione di codice da inserire è la seguente:
if (($this->error->code) == '404') {
header('Location: /index.php?option=com_content&view=article&id=XXX');
exit;
}
E' necessaria un'ultima modifica. Dovrai modificare il file "robots.txt" (contenuto nella cartella "public_html") aggiungendo la seguente riga:
Disallow: /index.php?option=com_content&view=article&id=XXX
Anche in questo caso dovrai sostituire il path con quello che hai annotato in seguito alla creazione della voce di menù
La procedura è terminata. Ora, richiamando un link non più esistente (o errato), verrà mostrata la pagina da te creata