Error 404 personalizado – Apache Tips, PHP Tips

Deutsch: Bildschirmfoto eines 404-Fehlers bei ...
Image via Wikipedia

Una de las maneras de obtener información del servidor donde tenemos alojada nuestra web es solicitando una pagina que no exista y así nos devuelva la pagina
que tiene el servidor por defecto de pagina no encontrada en la cual suele venir el modelo versión y demás detalles. Una solución rápida para esto es crear
nuestra pagina de error 404. Para ello tendremos que editar el fichero .htaccess en la raíz de nuestra pagina web y poner lo siguiente:
Nota: Consideramos que el servidor web es apache

ErrorDocument 404 /404.php

Con esto le estamos diciendo que cuando se produzca un error 404 nos muestre la pagina 404.php
Dicha pagina la podemos poner como queramos y el mensaje que queramos.
Otra opción que tenemos, por si no queremos hacer una pagina de error es pasarle directamente el mensaje a la configuración

ErrorDocument 404 "Lo sentimos la pagina web solicitada no existe"

Lo mismo que con el 404 ( pagina no encontrada ) lo podemos hacer con otros codigos como el 403 y demás.

Ahora bien, hay un caso, que tenemos que tener cuidado, pongamos que hacemos la típica aplicación en la cual tenemos que estar registrados para acceder a las secciones y queremos evitar
que nos accedan directamente a las paginas. La programación de la cabecera de los ficheros podría ser

if ( session_id != null ) {
    session_regenerate_id();
} else {
    session_start();
}
if (!$_SESSION['auth']) { 
// Redirección a la pagina
    header("Location:404.php"); // Redirigimos a la pagina de error o a la que queramos
    exit(0);
}

Imaginemos que queremos crear una función para no tener que escribir todo esto en cada cabecera, y lanzamos esa función en cada pagina, y pensamos que tenemos que cambiar la ruta del
header para cada sección. A la vez pensamos que hemos hecho la redirección 404 en el .htaccess como a continuacion:

header("HTTP/1.0 404 Not Found"); // Esta manera
header("Status: 404 Not Found"); // O esta manera

Y decimos mira mando un header de 404, este me lo interpreta el .htaccess y me manda a la pagina
seleccionada… ERROR eso no funciona, y para colmo decir que no necesitaríamos hacer nada mas ya que esta funcionaria dentro de las carpetas, siempre y cuando no existiera la pagina 404.php, y si no ahí va un truco, que el header apunte a notfound.html, esta va a ser una pagina que no crearemos en ningún sitio, el header la llamara, como no existe hará que el .htaccess lance la pagina 404.php que tenemos en la raíz

+ Info
Anuncios

3 comentarios en “Error 404 personalizado – Apache Tips, PHP Tips”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s