2009-08-07 15 views

Respuesta

18

El encabezado no es lo que le dice a Apache que muestre su página 404. Más bien, cuando Apache muestra su página 404, envía un encabezado 404 junto con ella. El encabezado debe tener significado para el navegador, no el servidor. Apache muestra un 404 cuando no puede encontrar el archivo adecuado para mostrar. Dado que está en una secuencia de comandos PHP, Apache ya ha encontrado un archivo que puede mostrar y, por lo tanto, no mostrará su propia página 404.

7

Los encabezados enviados por PHP solo importan realmente al navegador en este caso. Apache no creará su propia página porque ya está procesando la página, y si envió algo, los dos entrarán en conflicto.

Sí, el archivo .htaccess impedirá que Apache muestre una página de error porque las reglas hacen que Apache piense que ya no tiene un error 404, porque ha encontrado una página para mostrar.

Enviar un encabezado es realmente solo un 'mensaje de estado', y no hace que el navegador o servidor muestre una página en particular. (Aunque la mayoría de los navegadores lo harán).

Como señaló Dav en los comentarios, querrá enviar errores 404 a su propia página de error personalizada.

+2

¿Debo redireccionar a mi página "página no encontrada"? –

+4

Sí, eso es generalmente lo que hacen las aplicaciones PHP si quieren mostrar un mensaje de este tipo. – Amber

+1

Por favor, no redirija. Hace que sea mucho más difícil corregir errores ortográficos. Simplemente envíe una página 404 y termine con ella. – TRiG

Cuestiones relacionadas