Cristalab

Métodos para redireccionar URLs (HTML, PHP y Javascript)

Por: dave73 + 26.04.2007

En este tip mostraré varios métodos de redireccionamiento de direcciones URL. Es decir, que al entrar en una página web automáticamente nos envíe a otra.

Método 1. HTML


El primer método es usar el elemento META. Veamos la sintaxis de uso para nuestro propósito:

Código :

<meta http-equiv="acción" content="segundos"; url="url destino" />


Supongamos que has cambiado de servidor o has movido una página a otro directorio. Mostraremos un mensaje acerca de ello y redireccionaremos a nuestro usuario a la nueva ubicación de la página. En este ejemplo, la acción será "refresh", el tiempo en que tardará en refrescar la página será de cinco (5) segundos:

Código :

<html>
<head>
<meta http-equiv="Refresh" content="5;url=http://www.cristalab.com">
</head>

<body>
<p>Nos hemos mudado! Serás dirigido automáticamente en cinco segundos. En caso contrario, puedes acceder haciendo click <a href="http://www.cristalab.com">aquí</a></p>
</body>
</html>


Método 2. PHP


El siguiente ejemplo, redireccionará al usuario sin aviso previo:

Código :

<?php
header ("Location: http://www.cristalab.com");
?>


Método 3. JavaScript


Podemos lograr con JavaScript, los métodos anteriormente vistos. En el caso de un redireccionamiento en espera, debemos usar un "temporizador". Veamos un ejemplo:

Código :

<html>
<head>
<script type="text/javascript">
function redireccionar(){
  window.locationf="http://www.cristalab.com";
}
setTimeout ("redireccionar()", 5000); //tiempo expresado en milisegundos
</script>
</head>
<body>
<p> Espere por favor, será redireccionado en 5 segundos.</p>
</body>
</html>


Haciéndolo directamente, sin espera:

Código :

<body>
<script type="text/javascript">
window.location="http://www.cristalab.com";
</script>
</body>

Etiquetas php javascript html

Comentarios | Enviar un comentario
OK
Por: creo
Te falto el metodo mas rapido, un ReWriteRule en .htaccess
Por: Gubatron_blog
¿Como el hago si quiero que todos los apartados que contengan una carpeta se redireccionen a otra. Hago la pregunta porque quiero redireccionar el directorio /phpBB2 al directorio (por si alguna persona se mete a esa dirección /foro. Lo que pasa es que no cambie el directorio en el tiempo adecuado. ¿Como le puedo hacer?

Gracias, esto me ha servido mucho.
Por: Spacecowboy_blog
Spacecowboy:
Usando el método aportado por Gubatron.
Por: DriverOp
no saben como los adorooooooo¡¡¡¡, en pocas semanas con ustedes he aprendido mas que varios meses en los que estaba muy desorientado por otros lugares, graaaaciiaaaaa, y prometo hacer la misma labor altruista cuando sea igual o mas chingon que ustedes en lo de las pags web y diversos lenguajes de programacion.
Por: Señor Oz_blog
Hola, soy nueva en esto, quisiera que me ayudaran, tengo una pagina pero para poder verla tienen que pasar por un log de acceso, ya tengo el log, compruebo el nombre de usuario, pero no puedo ponerle solo el nombre de la página a la que acceden porque son muchas paginas que pasan por la autenticacion, parece que necesito crear una función, pero no se como hacerla, ya que hice un archivo php para validar.
ayuda por favor!!
Por: ros
es buena la informacion me ayudo enalgo simple pero k no me acordaba .
Por: carlos bazan_blog
hola, En Javascript también puede ser así:

<html>
<body>
<script type="text/javascript">
location.href="http://www.cristalab.com";
</script>
</body>
</html>
Por: Jonathan_Diosa_blog
Gracias Amigos, Excelente, muy rapido y eficaz
Por: Kolomviano_blog
hola. Estoy trtando de redireccionar un dominio a un subdirectorio de otro dominio. No me está saliendo con el código para php. Podría alguien explicar cómo es el método gubatrón del Rewriterule en htaccess????????? gracias!!
Por: mariana _blog
¿Cómo redireccionar al usuario, después de un login?...En PHP?...y en javascript?
Por: Valenciana_blog
Y si no se sabe desde donde fue llamado? Hay una forma en php utilizando variables globales, pero no me acuerdo cual...
Por: Pablo_blog
My efectivo el codigo!!!! Graxias!!!

Saludos desde Panama!!
Por: Alfonso_blog
Hola, soy nuevo en esto y se me complica bastante, quisiera saber como en html para que redireccione sin espera a la otra pag.Muchas garcias
Por: Manholo_blog
Hola a todos, tengo una consulta que hacerles, lo que quiero es lo siguiente, tengo un sitio, el cual es muy pequeño y està echo en distintos colores, y lo que quiero es un script en lo que sea que cada X cantidad de minutos redireccione a una de las pàginas como si fuera la home, osea, si entro ya caigo en la home azul, si entro dentro de 5 minutos entro en la amarilla, y asì sucesivamente. Espero que se entienda. Mucha gracias a todos y en especial al que pueda aportarme alguna ayuda.
Por: Pablo_blog
hola he probado todos los metodos publicados aqui en un script de php que tiene como funcion insertar registros en un BD en la red pero al tratar de redireccionar a otro formulario dentro de mi sitio me marca el siguienre error:
Warning: Cannot modify header information - headers already sent by (output started at /home/content/s/h/e/shegaguilar/html/cbtis2/guardar_alumno.php:22) in /home/content/s/h/e/shegaguilar/html/cbtis2/guardar_alumno.php on line 53
utilizando header no se si me puedan ayudar gracias
Por: jesus_blog
¿Los robots de los buscadores pueden detectar los redireccionamientos escritos en PHP? Por ejemplo, si tengo doorway pages y hago redireccionamientos en php, podría ser atrapado por los algoritmos de google y ser baneado?. Gracias por la respuesta
Por: Ivan Vargas_blog

Ivan Vargas_blog :

¿Los robots de los buscadores pueden detectar los redireccionamientos escritos en PHP? Por ejemplo, si tengo doorway pages y hago redireccionamientos en php, podría ser atrapado por los algoritmos de google y ser baneado?. Gracias por la respuesta
Así es.

PD. Please die.
Por: Freddie
Todo esta muy bien, pero diganme si quiero direccionar a una pagina de la cual no quiero que se sepa la url.

La pregunta es ¿cual es el metodo mas seguro para redireccionar?
Por: Daniel_blog
He probado la parte de Javascript y no me funciona. He usado el codigo : location.href="http://www.cristalab.com";
y solo me funciona en firefox. Si por mi fuera lo dejaria asi pero me piden que sea compatible con ambos navegadores...
¿Alguien sabe algo de como hacerlos compatibles?
Por: Enrique_blog
sobre el problema de Warning: Cannot modify header information - headers already sent by (output started at

eso es por un tema de coockies, primero se mandan las coockies, despues el redireccionamiento.

Tambien podes usar el @session_start(); en vez de session_start por que la arroba oculta los warnings.
Por: _silver__blog
siempre en paginas complejas tienen algun warning @culto por algun lado , pero si tenes muchos, el servidor pierde velocidad, y si es winsh*t se te puede partir al medio o inclusive te podrías volver trolo buscando el problema y jamas encontrarlo.
Por: _silver__blog
Un "301 redirect" es la forma más eficiente y eficaz para redireccionar urls. De echo es la opción que más recomiendan los buscadores. Esta técnica es prácticamente transparente al usuario (sólo puede ver el cambio de url en la barra de direcciones de su navegador), y además es el método más rápido.

Este tipo de redirección se implementa en un archivo .htaccess.

Cuando un visitante pide una página que se encuentra en un directorio concreto, el servidor Apache lo primero que hace es comprobar si hay un archivo .htaccess en ese directorio. Éste archivo contiene información específica sobre cómo manejar errores, opciones de seguridad y de redireccionamiento entre otras.

El código 301 se interpreta en el servidor como "movido permanentemente". Antes que nada necesitarás un archivo .htaccess en el directorio donde estan alojadas todas las páginas. Puedes crear uno con el bloc de notas si no existe. Nota: Fíjate en poner un "." al principio del nombre de archivo. Este archivo no tiene extensión.

El código de redireccionamiento es así:

redirect 301 /tutoriales/viejo.htm http://www.tu-pagina.com/tutoriales/nuevo.htm

Así de simple, guarda el archivo y súbelo al servidor. Para probarlo deberías acceder a la dirección vieja y instantáneamente serás redireccionado a la nueva. Te recordamos que debes poner la ruta completa de la nueva página (siempre empezando con "http://...") tal y como está en nuestro ejemplo.

redirect 301 (instrucción que nos dice que la página se ha movido)

/tutoriales/viejo.htm (la ruta del directorio original y el antiguo nombre de archivo)

http://www.tu-pagina.com/tutoriales/nuevo.htm (nueva ruta y archivo dónde seremos redireccionados)

Redireccionar sitios completos con 301

La directiva 301 es una herramienta muy potente. También es posible redireccionar sitios completos. Por ejemplo:

redirect 301 / http://www.tu-pagina.com/

Supongamos que guardamos esta directiva en el .htaccess del servidor donde se aloja pagina.com. El primer "/" indicaría que cualquier aceso a pagina.com sería automáticamente redireccionado a tu-pagina.com

Por: Kyogre
Por: .htaccess \"Tecni
me parece muy bueno, resumiendo excelente gracias por todo la verdad he aprendido mucho.

gracias a esta pagina =)
Por: jhonnavegante_blog
gracias me sirvio de mucho
Por: darkropo_blog
Hola, estoy haciendo una aplicacion sencilla en php, tengo un formulario de ingreso donde pido el usuario y la clave (no hay problema), luego pasa a validación y si estan correctos los datos despliego una pagina de bienvenida que esta al interior del mismo script alli crtomo la session y hago una cookie(no hay problema). Tambien hay un boton de salir que destruye la cookie pero NO ha sido posible que elimine la session ni que al presionar el boton atras o dar la tecla retroceso <- diga que ya no esta disponible. al reingresar vuelve a hacer la cookie y la session, como hago para que esto no suceda y lo obligue a ir a la pagina de acceso?
Por: Programador_007_blog
muy bueno pero falta que cuando tengo un formulario de validacion en php pueda defilir en if o en else deacuaerdo adonde quiera ir, por ejemplo: si es si que me mande a determinada pagina y si es no que me amnde a otra, falta que expliquen eso gracias y qe pena.
Por: jdas_blog
¿alguien puede postear el código del método con .htaccess?
Por: Inyaka
hola Riendo e encontrado un error por ai

<html><head><script type="text/javascript">function redireccionar(){ window.locationf="http://www.cristalab.com";} setTimeout ("redireccionar()", 5000); //tiempo expresado en milisegundos</script></head><body><p> Espere por favor, será redireccionado en 5 segundos.</p></body></html>

el error es que en window.location hay una f de mas, tiene que quedar asi window.location

salu2
Por: samurayred_blog
vale solo que no hace lo que yo quiero, bueno, si saben alguna otra cosa publiquenla.

gracias por todo
Por: tatyta_blog
Hola... mi pregunta es muy básica pero entiendo muy poco -nada- de esto.
Quisiera enviar un jpg o un gif a una serie de correos electrónicos, pero como es una promocion quisiera que se abra apenas se abre el correo. No tengo página web. Hay alguna manera de hacerlo. Pruebo en esos formatos y para verlo hay que abrir el adjunto. Sepan disculpar mi ignorancia. Trabajo en gráfica pero 0 en web. GRACIAS!!!
Por: Ana Laura_blog
yo tengo una pregunta sobre el metodo 1 (html) en que parte tengo que meter el codigo que ahi mencionan. encontre esta etiqueta:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

esa misma la tengo que reemplazar por esta?

<meta http-equiv="acción" content="segundos"; url="url destino" />

obviamente ya con la informacion de mi pagina

gracias
Por: Hirasemo_blog
haber quiero redireccionar de la siguinete manera

de mi pagina www.mipagina.com y por medio de un marco de mmi pagina a www.hotmail.com a www.google.com despues a www.yahoo.com dejando pasar 5 segundos en cada pagina y que se carge en el mismo marco de mi navegador alguien sabe como hacerlo??? ya los agarre apuesto a que no saben
Por: suertudo
hola, tengo un requerimiento, necesito entrar a una jsp, pero como no estoy logueado me manda a la pagina login. ya que me logueo, doy entrar pero me manda a otra pagina, no a la que queria entrar... como redirecciono a la pagina que necesito entrar
?????????????????
Por: javero-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.