Archivos del Domingo, 30 de Abril de 2006

Redirecciones

Domingo, 30 de Abril de 2006 a las

En estos últimos días un tanto revueltos para este blog he tenido que hacer diversas redirecciones a otros sitios web. Sin entrar en numeritos (301, 302, 307..) ni tecnicismos, veamos cómo podemos hacer esas redirecciones.

Redirección HTML.
Hacemos uso del metatag refresh dentro del cuerpo de la página:

<meta http-equiv=“refresh” content=“1; url=direccion”>

donde content=1 indica el número de segundos que transcurren desde que la página carga hasta que es redireccionada al nuevo URL

Otra opción sería utilizar JavaScript para redireccionar a la gente..

Redirección JavaScript.

<script type=”text/javascript”>
if (navigator.appName==”Microsoft Internet Explorer”)
document.location.href = “direccion”;
else
document.location.href = “direccion2″;
</script>

Tambien podríamos usar navigator.userAgent en vez de appName.

¿Pero qué pasa si tenemos el JavaScript desactivado? Adiós redirección. Si tenemos php corriendo en nuestro servidor podríamos hacer uso de él.

Redirección PHP.

<?
header
(”Location: direccion”);
?>

Usando PHP también podemos evaluar las distintas cabeceras HTTP y hacer redirecciones según el navegador, la IP, el referrer… así por ejemplo para discriminar usuarios de Internet Explorer basta con añadir una sencilla comprobación:

<?
if ($name = stristr($_SERVER[”HTTP_USER_AGENT”], “MSIE”)) {
header(”Location: direccion”);
}
?>

Por supuesto haciendo que tu navegador muestre otra identificación esto te lo puedes saltar…

A mí personalmente esta redirección en PHP me ha funcionado a veces, no siempre, no tengo ni idea de por qué, pero ha pasado que al intentar muchas veces recargando la página con un IExplore al final termina llegando a donde yo no quería que llegara.

Por ello, tenemos otra redirección que a mí me gusta más por ser más rápida y fallar menos, entre otras cosas. Tenemos que editar el archivo .htaccess de nuestro servidor Apache.

Redireccion .htaccess
Con el mod_rewrite activado:

RewriteCond %{HTTP_USER_AGENT} ^.*MSIE.*$
RewriteRule ^.*$ http://direccion [L,R]

Así podemos mandar a los distintos navegadores a diferentes sitios. La verdad es que el .htaccess da mucho juego. Existe una guía de instroducción al .htaccess muy buena, que os puede dar muchas ideas.

Por supuesto hay explicación para todo, qué es una cabecera, qué es el user agent, objeto tal o cual, pero como yo no sé explicarme os remito a buscadores y manuales específicos.

Ale, a pasar un buen día.

Archivado en Web
por elsamu