La gestió de les pàgines 404

A partir d’[Spip 1.8] és possible crear fàcilment un esquelet per a la pàgina d’errors 404 que es mostrarà si l’internauta demana una pàgina que no existeix.

Pàgina d’error 404 , què és això?

Quan una persona navega per la Web, pot arribar un moment en què cridi una pàgina Web que no existeix. Quan un servidor Web rep la petició per aquesta pàgina, respon llavors mitjançant una pàgina Web específica (per assenyalar que la pàgina demanada no existeix), definida pel propietari del lloc Web (o, per defecte, la que proporciona el servidor) i que conté, generalment, un missatge d’explicació, i que va acompanyada d’un codi de resposta « 404 » del protocol http (que, sol, no seria massa explícit), d’aquí el nom de « pàgina 404 » que es dóna a vegades a aquest tipus de pàgina.

I SPIP en tot això?

També es pot donar el cas que un usuari demani un fitxer que existeix però que, per manca d’informació, no aporti cap contingut. Per agafar un exemple amb SPIP, si qualsevol escriu al seu navegador una adreça com http://adresse-d-un-site-spip/spip.php?article520, i l’article 520 encara no existeix —o no s’ha publicat en línia—, seria lògic que SPIP retornés un missatge d’error tal i com hem procedit a descriure anteriorment. Podríem qualificar això de «pseudo error 404».

És, efectivament, el que fa SPIP. Retorna una pàgina 404 construïda a partir d’un esquelet. Per a personalitzar-la, en tindreu prou creant el vostre propi fitxer 404.html, com en qualsevol esquelet SPIP. Aquest fitxer 404.html serà per tant arxivat amb els altres esquelets que podeu haver creat (veure respecte a aquesta tema l’article «On ubicar els fitxers dels esquelets?»).

Regulació d’SPIP

SPIP no pot saber tot sol quan ha de retornar aquesta «pseudo error 404», per tant fa falta explicitar-li a cadascun dels esquelets que podria generar-la.

Per convenció, SPIP retornarà la pàgina d’error 404 només quan el contingut retornat per l’esquelet estigui completament buit.

El principi és força simple. Per exemple:

  • l’esquelet de cerca, si no troba resultats, mostrarà la pàgina de cerca, probablement amb un missatge informant a l’usuari del fracàs de la cerca. Però no retornarà una «pseudo error 404».
  • per contra, un esquelet d’article, si se li demana un article que no existeix no ha de mostrar cap pàgina d’article sinó la «pseudo error 404».

Per reprendre l’exemple de l’article 520 no publicat o inexistent i de la crida d’un url http://adresse-d-un-site-spip/spip.php?article520, hauríem de concebre l’esquelet article de la manera següent:

<BOUCLE_principale(ARTICLES) {id_article}>
el codi html, i fins i tot l'encapçalament
</BOUCLE_principale>

El boucle _principale no retorna res si se li demana un article que no existeix o no publicat, el resultat mostrat serà llavors una pàgina buida, i SPIP generarà un missatge d’error i retornarà una «pseudo error 404».

Regulació del servidor Web

Aquest procés és necessari per a les pàgines d’errors 404 "normals", és a dir degudes a l’absència del fitxer demanat per l’usuari.

El mètode més simple és sens dubte de servir-se del fitxer .htaccess proporcionat per SPIP, fins i tot si no utilitzeu els URLs nets. Per això, canvieu el nom del fitxer htaccess.txt lliurat en estàndard per .htaccess. [1]. I això és tot!

Atenció! pot passar que el vostre hostatjador desactivi l’ús del fitxer .htaccess. En aquest cas, caldrà contactar amb ell per resoldre aquest problema.

Mostrar una pàgina realment buida

Pot ser que en un moment donat desitgem retornar una pàgina buida sense provocar un "fals error 404". Per fer-ho, en tindrem prou, a partir d’SPIP 1.9 posant

#HTTP_HEADER{content-type:text/html}

Notes

[1és possible que no pugueu cridar d’aquesta manera el vostre fitxer al vostre ordinador. En aquest cas anomeneu l’htacces.txt, i canvieu-li el nom per .htaccess quan l’haureu posat en línia.

Autor merce Publié le : Mis à jour : 21/03/23

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