La gestione delle pagine 404

Dalla versione [Spip 1.8] è possibile creare facilmente un modello di pagina per l’errore 404, che viene mostrata a chi naviga su Internet e chiede di visualizzare una pagina che non esiste.

Pagina di errore 404, cos’è?

Quando una persona naviga su Internet può capitare che si chiami una pagina Web che non esiste. Quando un server Web riceve la richiesta di visualizzare tale pagina inesistente, esso può comportarsi in due modi:

  • o genera un messaggio di errore «404» — il numero 404 è stato deciso arbitrariamente al fine di stabilire questo tipo di errore [1] — per indicare che la pagina richiesta non esiste.
  • oppure genera una pagina di errore «404» definita dal proprietario del sito, e che solitamente contiene un messaggio esplicativo più comprensibile per l’essere umano rispetto a un semplice e laconico «errore 404».

E SPIP in tutto questo cosa c’entra?

Può capitare anche che un utente richieda un file che esiste ma che, per mancanza di informazione, non dia contenuti. Per fare un esempio con SPIP, se si prova a scrivere nella barra degli indirizzi del proprio browser qualcosa come http://indirizzo-di-un-sito-spip/spip.php?article520, e l’articolo 520 non esiste ancora — oppure esiste ma non è pubblicato online —, sarà logico che SPIP dia un errore del tipo descritto precedentemente. Si potrebbe definire ciò un «pseudo errore 404».

Questo è quel che effettivamente fa SPIP. Esso dà una pagina 404 generata a partire da un modello di pagina. Per personalizzare tale pagina è quindi sufficiente creare il proprio file 404.html, come qualsiasi altro modello di SPIP. Tale file 404.html viene registrato poi insieme agli altri modelli già creati (vedere l’articolo «Dove mettere i file dei modelli?» su questo argomento).

Impostazione tramite SPIP

SPIP non può sapere da sé quando deve generare questo «pseudo errore 404», perciò bisogna esplicitarlo in ognuno dei modelli che possono generarlo.

Per convenzione, SPIP mostra la pagina di errore 404 solo quando il contenuto che i cicli cercano è completamente vuoto.

Il principio è abbastanza semplice, per esempio:

  • il modello della ricerca, se non trova alcun risultato mostrerà la pagina di ricerca, probabilmente con un messaggio che dice all’utente che non sono stati trovate corrispondenze con quanto cercato. Ma di certo non mostrerà un «pseudo errore 404».
  • al contrario, un modello di articolo, se si trova a gestire la richiesta di un articolo che non c’è non puà mostrare la pagina di questo articolo ma deve obbligatoriamente visualizzare il «pseudo errore 404».

Per riprendere l’esempio dell’articolo 520 non pubblicato o non esistente e della chiamata di un URL http://indirizzo-di-un-sito-spip/spip.php?article520, sarà necessario concepire il modello articolo nel modo seguente:

<BOUCLE_principale(ARTICLES) {id_article}>
codice html, compresa l'intestazione
</BOUCLE_principale>

Il ciclo BOUCLE_principale non mostra nulla se si richiede un articolo inesistente o non pubblicato, quindi il risultato di tale ciclo sarà una pagina vota, e SPIP genererà un messaggio di errore e mostrerà un «pseudo errore 404».

Impostazione tramite server Web

Questa procedura è necessaria per le pagine di errore 404 "normali", ovvero quelle dovute alla mancanza del file richiesto dall’utente.

Il metodo più semplice è forse utilizzare il file .htaccess fornito da SPIP, anche se nel proprio sito non si usa la riscrittura dell’URL propres. Per fare ciò, si deve rinominare il file htaccess.txt che si trova nel pacchetto standard di SPIP dandogli il nome .htaccess. [2]. E questo è tutto!

Attenzione! Può capitare che il proprio hoster disattivi l’utilizzo del file .htaccess, nel qual caso bisognerà contattarlo per risolvere il problema.

Note

[1in realtà esso è un codice di protocollo http

[2è possibile che non si riesca a chiamare tale file con questo nome sul proprio computer. In tal caso, chiamare il file sul computer come htacces.txt, e cambiargli nome in .htaccess dopo averlo trasferito sul proprio sito.

Autore Fausto Barbarito Publié le : Mis à jour : 26/10/12

Traductions : català, English, Español, français, italiano, Nederlands