La gestión de los errores 404

Después de [Spip 1.8] es posible crear fácilmente un esqueleto para la página de errores 404 que se mostrará si el internauta pide una página que no existe.

¿Página de error 404 , qué es ?

Cuando una persona navega en la Red, puede llegar a llamar a una página Internet que no existe. Cuando un servidor red recibe la solicitud para mostrar esta página, responde a su vez con una página Internet específica (para indicar que la página pedida no existe), definida por el propietario o propietaria del sitio (o por omisión aquella proporcionada por el servidor), y que contiene generalmente un mensaje de explicación (como "página no encontrada"), y un código de respuesta « 404 » del protocolo http (que, por sí solo no sería muy explícito), de ahí el nombre de « page 404 » a veces otorgado a esta clase de página.

¿Y SPIP en todo eso?

Puede también suceder que un usuario pida un fichero que existe, pero que, a falta de información, no suministra contenido. Para tomar un ejemplo con SPIP, si alguien escribe en su navegador una url como http://dirección-de-un-sitio-spip/spip.php?article520, y el artículo 520 no existe aún "o no se halla publicado en línea", sería lógico que SPIP devuelva un mensaje de error, de la misma forma que el procedimiento anteriormente descrito. Podría calificarse esto de "pseudo error 404".

Esto es efectivamente lo que hace SPIP. Devuelve una página 404 construida a partir de un esqueleto. Para personalizarla, basta pues con crear su propio archivo 404.html, como cualquier esqueleto SPIP. Este fichero 404.html se guardará con los otros esqueletos que se crearon (ver a este respecto el artículo «[>3542]»).

Ajuste de SPIP

SPIP no puede saber por si solo cuándo devolver este «pseudo error 404». Por eso es necesario aclarárselo en cada uno de los esqueletos que podría generarlo.

Por convenio, SPIP va a devolver la página de error 404 solamente cuando el contenido generado por la ejecución del esqueleto esté completamente vacío.

El principio es bastante simple, por ejemplo:

  • el esqueleto de búsqueda, si no encuentra resultados, indicará en la página de resultados de la búsqueda, probablemente con un mensaje informando al usuario del fracaso de la búsqueda (algo como "0 encontrados"). Pero no devolverá un «pseudo error 404».
  • por el contrario, un esqueleto de artículo, si se le pide un artículo que no exista no debe indicar la página artículo vacía, sino el «pseudo error 404».

Para reanudar el ejemplo del artículo 520 no publicado o inexistente y de la llamada del url http://dirección-de-un-sitio-spip/spip.php?article520, sería necesario concebir el esqueleto artículo de la siguiente manera:

<BOUCLE_principal(ARTICLES) {id_article}>
código html, incluido encabezamiento
</BOUCLE_principal>

El boucle _ principal no devuelve nada si se pide un artículo inexistente o no publicado, el resultado será entonces una página vacía, y SPIP generará un mensaje de error y devolverá una «pseudo error 404».

Ajuste del servidor Web

Este procedimiento es necesario para las páginas de errores 404 «normales», es decir, debidas a la ausencia del fichero pedido por el usuario.

Seguramente, el método más simple es servirse del archivo htaccess proporcionado por SPIP, aunque no utilices URLs propios. Para eso, renombra el archivo htaccess.txt que se encuentra en la raíz de tu sitio SPIP a .htaccess. [1]. ¡Y es todo!

¡Atención! puede suceder que tu proveedor [2] desactive el uso del htaccess, en cuyo caso será necesario contactarlo para solucionar este problema.

Notas

[1es posible que no puedas renombrar el archivo de esta manera sobre tu propio equipo. En este caso, renombra el htaccess.txt cuando lo pongas en línea.

[2NT: léase por anfitrión ISP o servicio de hosting donde alojes tu sitio.

Autor o autora JavSP, Vlad Publicado el: Actualizado: 26/10/12

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