Foros del Web » Programando para Internet » PHP »

Creando un 404!

Estas en el tema de Creando un 404! en el foro de PHP en Foros del Web. Estaba haciendo un archivo php, que se muestre en vez del tipico error 404. Es algo simple, pues muestra un mensaje de pagina no encontrada ...
  #1 (permalink)  
Antiguo 09/04/2009, 06:08
Avatar de emal011  
Fecha de Ingreso: julio-2004
Ubicación: Munich
Mensajes: 211
Antigüedad: 19 años, 8 meses
Puntos: 2
Creando un 404!

Estaba haciendo un archivo php, que se muestre en vez del tipico error 404.
Es algo simple, pues muestra un mensaje de pagina no encontrada y enlaces que direccionan quizas hacia el link que quizas el usuario le pueda servir.

Pero en el texto que dice: "Disculpe, el link ... es incorrecto"
Donde "..." es el enlace que deberia aparecer.

Utilize:

Código:
<?php echo $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];?>
Para que me muestre el link que el usuario erroneamente digito talvez. Pero que sucede? Nada!

si el usuario escribe, http://www.mipagina.com/index.html y html no existe si no mas bien index.php(u otro). En el mensaje 404 deberia aparecer, "Disculpe, http://www.mipagina.com/index.html es incorrecto." Pero no lo hace!
Con el codigo arriba mencionado aparece:"http://www.mipagina.com/nothere.php"

Donde nothere.php es el file creado para que aparezca en vez del tipico error 404.

Osea, en vez de mostrar el link erroneo me muestra la ruta del php que "hace" el apel del 404.
__________________
El graduado en Ciencias pregunta "¿Por qué funciona?"
El graduado en Ingenieria pregunta "¿Cómo funciona?"
El graduado en Artes Liberales pregunta "¿Quiere papas fritas con eso?"
  #2 (permalink)  
Antiguo 09/04/2009, 06:32
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: Creando un 404!

Lo que estás buscando es la superglobal $_SERVER['HTTP_REFERER'], pero tené en cuenta que no siempre estará disponible, cito el manual:
Cita:
La dirección de la página (si la hay) la cual refirió al agente de usuario a la página actual. Este valor es definido por el agente de usuario. No todos los agentes de usuario lo definen, y algunos proveen la capacidad de modificar HTTP_REFERER como una característica del software. En resumen, no se puede confiar realmente en este valor.
  #3 (permalink)  
Antiguo 09/04/2009, 07:27
Avatar de emal011  
Fecha de Ingreso: julio-2004
Ubicación: Munich
Mensajes: 211
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Creando un 404!

Bueno, funciona cuando quiere creo... pues cuando modifico el link para generar el error, me sale en unos y en otro no sale nada.. Pero bueno, por lo menos funciona en algo.

Alguna otra sugerencia?
__________________
El graduado en Ciencias pregunta "¿Por qué funciona?"
El graduado en Ingenieria pregunta "¿Cómo funciona?"
El graduado en Artes Liberales pregunta "¿Quiere papas fritas con eso?"
  #4 (permalink)  
Antiguo 09/04/2009, 08:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Creando un 404!

No, es la única forma, ya que es parte de como se trabaja el protocolo HTTP, lo que puedes hacer es poner un if() de que si esta vacio entonces no muestres el link, o uno genérico.

Saludos.
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 18:01.