Una página personalizada de error 404 para Joomla 3.x - 5.0 out of 5 based on 1 vote
Modificado por última vez en Lunes, 30 Diciembre 2013 23:45
(1 Voto)

Una página personalizada de error 404 para Joomla 3.x

página personalizada de error 404 para Joomla 3.x

Hacerlo de esta manera va a enviar el código de error 404 al navegador

Nosotros, los humanos, reconocemos un error 404 como página no encontrada. Esto es útil. Sin embargo, la principal razón de un código de error 404 es dejar que el equipo solicitante conozca que la página no se ha encontrado. La mayoría de los tutoriales en línea de error 404 en Joomla no hacen esto y los desarrolladores usan un método que devuelve un código 200 OK.

Aquí está cómo configurar un 404 con Joomla 3.0 y siguientes

En primer lugar, crear un artículo personalizado en el Gestor de artículos de Joomla. El nombre del artículo se beneficiaría de ser llamado "Página no encontrada" o algo similar. En el contenido del artículo escribe una pequeña explicación para tus usuarios de lo que salió mal. Pulsa guardar y anota el número de identificación del artículo (ID).

Entonces, ve a la raíz de la carpeta de tu plantilla y añade por FTP un nuevo fichero llamado 'error.php' (1). El Archivo 'error.php' es un reemplazo que es llamado por Joomla automáticamente si no se encuentra una página web solicitada. Una vez que hayas agregado la página 'error.php', pega el código que puedes encontrar a continuación. Intercambia "www.tu-sitio" y "ARTICLE_ID" por el número de tu artículo.

<?php
defined( '_JEXEC' ) or die('Restricted access');
if (($this->error->getCode()) == '404') {
  echo file_get_contents('http://www.tu-sitio/index.php?option=com_content&view=article&id=ARTICLE_ID');
}

Esta solución presenta el contenido de la "Página no encontrada" que hemos hecho antes con el Gestor de artículos. De hecho, consigue toda la página en su propia solicitud. No te preocupes por la horrible vista de la URL - los usuarios nunca la verán. Hacerlo de esta manera va a enviar el código de error 404 al navegador, así como la página de error legible que has hecho a mano. El FYI de Joomla establece en la cabecera el código 404.

En el caso de este site el código es el siguiente:

<?php
defined( '_JEXEC' ) or die('Restricted access');
if (($this->error->getCode()) == '404') {
  echo file_get_contents('http://www.xn--apaados-6za.es/index.php?option=com_content&view=article&id=73');
}

Ahora si, con el ejemplo de este artículo, ponemos una URL cortada: http://www.xn--apaados-6za.es/tenemos-personalizada-error-404-joomla-3x.html [copiar y pegar la URL en la barra del navegador] , nos llevará a la página de error 404 personalizada.

(1) Tengo que advertir que en la mayoría de las modernas plantillas de Joomla! de la serie 3.x se puede elegir una página de error 404, bien sea la predeterminada de Joomla! o la que hayas hecho tu personalizada. Si ya existe en tu plantilla un archivo 'error.php', deberás renombrarlo (para no perderlo) y colocar el que hemos explicado.

Cómo NO establecer una página de error 404 con Joomla

La mayoría de los tutoriales en línea muestran un método de redirección similar a:

<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
header("HTTP/1.0 404 Not Found");
header("Location: http://www.tu-dominio/404");
exit;

El problema con esto es que la redirección se resuelve con un código 200 OK. Un código 200 le dice al navegador que la solicitud fue muy bien. ¡Eso no es bueno para Google! También tienes que decirle a Google que la página no se ha encontrado.

Aunque este método sirve para todas las versiones de Joomla, en Personaliza página de error 404 en Joomla tengo detallado el procedimiento para Joomla 1.5.x y Joomla 2.5.x


Comentarios (4)

This comment was minimized by the moderator on the site

Gracias por el tutorial. He seguido los pasos al pie de la letra pero, sin embargo, cuando le doy una url que yo sé que no existe, me sale lo siguiente:

Warning: file_get_contents(http://desajoomlauv.univalle.edu.co/~sii/index.php?option=com_cont...

Gracias por el tutorial. He seguido los pasos al pie de la letra pero, sin embargo, cuando le doy una url que yo sé que no existe, me sale lo siguiente:

Warning: file_get_contents(http://desajoomlauv.univalle.edu.co/~sii/index.php?option=com_content&;amp;view=article&amp;id=20): failed to open stream: No route to host in /home/desarrollo/sii/public_html/templates/univalle_dependencias/error.php on line 4

Leer más
This comment was minimized by the moderator on the site

Hola McNey,
Eso es un error de la base de datos en esta tabla hpro_k2_tags, No se a qué es debido parece de un tag (etiqueta) que está en el artículo.
¿has puesto la URL correcta en http://www.tu-sitio y ARTICLE_ID como indico en el primer código?

Comentario editado por última vez entre hace cerca de 3 años y Super User Super User
This comment was minimized by the moderator on the site

Buenas:
He seguido las instrucciones paso por paso, he copiado y pegado el texto, y solo modificado las cosas que indicas, pero me sale este error:
You have an error in your SQL syntax check the manual that corresponds to your MySQL server...

Buenas:
He seguido las instrucciones paso por paso, he copiado y pegado el texto, y solo modificado las cosas que indicas, pero me sale este error:
You have an error in your SQL syntax check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND published=1' at line 1 SQL=SELECT id FROM hpro_k2_tags WHERE LOWER(name) LIKE AND published=1
Que puede estar fallando?

Gracias

Leer más
This comment was minimized by the moderator on the site

Excelente aporte... Estuve buscando mucho y por fin logré encontrar algo que realmente sirve.
De nuevo muchas gracias!

No hay comentarios escritos aquí

Deja tus comentarios

  1. Publicar comentario como invitado. Regístrate o ingresaa tu cuenta
Archivos adjuntos (0 / 3)
Compartir su ubicación
close

Recibe gratis nuestros nuevos artículos!

Serás el primero en conocer las novedades y noticias que pasan en Internet, nuestros tutoriales, trucos y más.

Escribe tu email:

Se abrirá una nueva ventana deFeedBurner a la izquierda de la página y habrás de validar un Captcha.

Lee nuestras Política de privacidad & Política de cookies
Puedes darte de baja de la lista de correo electrónico en cualquier momento