Foros del Web » Programando para Internet » PHP »

No funciona header("HTTP/1.0 404 Not Found");

Estas en el tema de No funciona header("HTTP/1.0 404 Not Found"); en el foro de PHP en Foros del Web. Pues eso... quiero generar un error 404 y no hay manera. Cuando una consulta SQL no me devuelve un dato quiero enviar al usuario a ...
  #1 (permalink)  
Antiguo 17/12/2012, 22:51
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
No funciona header("HTTP/1.0 404 Not Found");

Pues eso... quiero generar un error 404 y no hay manera.

Cuando una consulta SQL no me devuelve un dato quiero enviar al usuario a una 404. Hago la comprobación antes de todo, al principio del archivo antes de mandar nada al navegador.

Lo compruebo con una función simple y si no da resultado intenta generar el error con header("HTTP/1.0 404 Not Found"); pero nada, no funciona...

Lo que me revienta esque lo he probado incluso sin funcion ni nada... directamente el primer código del documento es:
Código PHP:
<?php
header
("HTTP/1.0 404 Not Found");
?>
Y tampoco!! Pasa del header como de la mierd........ en cambio pongo:
Código PHP:
<?php
header
("Location: http://www.ejemplo.com/");
?>
y sí que funciona.

Porqué no salta el error 404??? Que alguien me lo explique porque vamos...

P.D. También he probado header("Status: 404 Not Found"); y nada...
  #2 (permalink)  
Antiguo 17/12/2012, 23:16
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Como lo estas comprobando exactamente ?, si ejecutas:

Código BASH:
Ver original
  1. curl -I url

no obtienes un 404 por respuesta ?
__________________
http://es.phptherightway.com/
thats us riders :)

Última edición por masterpuppet; 17/12/2012 a las 23:23
  #3 (permalink)  
Antiguo 18/12/2012, 06:32
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Hola masterpuppet, gracias por responder. No sé muy bien que significa el código que me has puesto: curl -I url
  #4 (permalink)  
Antiguo 18/12/2012, 06:36
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Cita:
Iniciado por manolo_manolo Ver Mensaje
Hola masterpuppet, gracias por responder. No sé muy bien que significa el código que me has puesto: curl -I url
Se refiere a este comando:

http://curl.haxx.se/

En las distribuciones Linux suele venir casi de serie.
__________________
Aviso: No se resuelven dudas por MP!
  #5 (permalink)  
Antiguo 21/12/2012, 05:04
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

No tengo acceso al servidor, no puedo ejecutar ese comando.

De todas formas, sí que lleva a una 404 cuando realmente pongo una url que no existe. Pero con "header..." no me lleva a esa 404
  #6 (permalink)  
Antiguo 21/12/2012, 05:49
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Con header() lo que haces es enviar una cabecera que indica al agente de usuario que la página no existe, no hará que muestre la página de error 404 por defecto en tu servidor.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 21/12/2012, 09:35
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Gracias David por tu clara respuesta. Y no hay manera de enviar a una 404??
  #8 (permalink)  
Antiguo 21/12/2012, 10:31
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: No funciona header("HTTP/1.0 404 Not Found");

Puedes crear un archivo aparte con el mensaje de error e insertarlo luego de enviar la cabecera:
Código PHP:
Ver original
  1. header('HTTP/1.0 404 Not Found');
  2. require('404.php');
  3. die();
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: 404, sql, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.