Foros del Web » Programando para Internet » PHP »

Error 404

Estas en el tema de Error 404 en el foro de PHP en Foros del Web. Hola, Tengo un problema con las Webmasters tools de Google, ya que aparece una ingente dantidad de errores de rastreo 404 sobre páginas antiguas que ...
  #1 (permalink)  
Antiguo 25/06/2010, 13:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 4
Error 404

Hola,

Tengo un problema con las Webmasters tools de Google, ya que aparece una ingente dantidad de errores de rastreo 404 sobre páginas antiguas que ya no existen.

Son páginas php con un Id que se recibe por url, comprueba si el Id existe y si no, redirecciona mediante un 301 a una página de error 404.

No sé si esta es la mejor forma, quizás lo mejor sería que la misma página devolviese el 404 sin redireccionar, pero aunque envio un header 404 si no se encuentra el Id, previamente envía un 200 Ok.

Cómo puedo hacer que devuelva dicha página el 404 directamente?

No sé si me he explicado.

Saludos
  #2 (permalink)  
Antiguo 25/06/2010, 13:51
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Error 404

enviando a la cabecera ?
Código PHP:
Ver original
  1. header('HTTP/1.0 404 Not Found');
  #3 (permalink)  
Antiguo 25/06/2010, 13:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 4
Respuesta: Error 404

Hola maycolalvarez,

Si, esa cabecera la envio cuando el Id no existe, pero previamente envia el 200 OK.
  #4 (permalink)  
Antiguo 25/06/2010, 13:54
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error 404

Te recomiendo que leas este artículo que te indica como hacer para que un buscador ya no tome en cuenta las páginas que no quieres mostrar http://googlewebmastercentral.blogsp...rt-i-urls.html. Como estás enviando un 200 lo más probable que el buscador continúa con el enlace, y hay mejores formas de eliminar la página. Además puedes usar un htaccess y añadir un ErrorDocument.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 25/06/2010, 14:08
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 4
Respuesta: Error 404

Si, cuando incluyo el header 404 tras la comprobación, anteriormente ha devuelto el 200 porque la página en si existe, pero su contenido es dinámico a través de Ids, la situación sería como si alquien intentase acceder a una página del foro que no exista, primeramente debe hacerse la comprobación y la página donde se realiza existe.

Ahora lo que estoy haciendo, es que tras la comprobación, realizo una redirección 301 a una página de error que si devuelve el 404, pero no sé si esta es la forma correcta o lo correcto sería hacerlo y cómo en la misma página de destino.

Saludos
  #6 (permalink)  
Antiguo 25/06/2010, 14:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error 404

Aún puedes colocar un 404 en esa página, solo que tienes que hacerlo antes de enviar información al navegador. Puedes corroborar en la base de datos y si no existe los datos en una condición colocas lo que te indicó maycolalvarez y luego lo redireccionas y debes evitar que el código continúe usando die o exit.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 25/06/2010, 14:47
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 19 años
Puntos: 4
Respuesta: Error 404

Ok, he hecho lo que me indicas eliminando un break; que tenía y parece que ahora ya funciona correctamente.

Muchas gracias

Etiquetas: Ninguno
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 21:26.