Foros del Web » Creando para Internet » Diseño web »

Redirección dependiendo del idioma

Estas en el tema de Redirección dependiendo del idioma en el foro de Diseño web en Foros del Web. Hola! necesito hacer que, dependiendo desde dónde venga el usuario, se le redirija a la versión de mi página en español o en inglés... Cómo ...
  #1 (permalink)  
Antiguo 19/05/2009, 09:29
 
Fecha de Ingreso: junio-2008
Mensajes: 109
Antigüedad: 9 años, 6 meses
Puntos: 1
Redirección dependiendo del idioma

Hola! necesito hacer que, dependiendo desde dónde venga el usuario, se le redirija a la versión de mi página en español o en inglés...

Cómo puedo hacerlo ?

No se si sería por la IP... o por las DNS...
  #2 (permalink)  
Antiguo 19/05/2009, 10:24
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 12 años, 2 meses
Puntos: 56
Respuesta: Redirección dependiendo del idioma

Se hace por IP, el método se llama geolocalización, en http://www.ip2location.com/free.asp encontrarás los archivos necesarios para poder identificar a tus visitantes.

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 26/05/2009, 11:03
 
Fecha de Ingreso: junio-2008
Mensajes: 109
Antigüedad: 9 años, 6 meses
Puntos: 1
Respuesta: Redirección dependiendo del idioma

He puesto el siguiente código:


Código PHP:
<?php

$idioma 
substr ($HTTP_ACCEPT_LANGUAGE02);

if (
$idioma == "en") {
Header("Location: eng/index.html");
} else {
Header("Location:  es/index.html");
}

?>
Y me redirige automáticamente al español, por lo que pensaba que estaba bien, pero recientemente me han dicho desde otro país que no le lleva a la web en inglés...

Alguien sabe dónde está el fallo ?????

Gracias !
  #4 (permalink)  
Antiguo 26/05/2009, 21:17
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 13 años, 9 meses
Puntos: 63
Respuesta: Redirección dependiendo del idioma

Hola

Remplaza
Código:
$idioma = substr ($HTTP_ACCEPT_LANGUAGE, 0, 2);
por

Código:
$idioma = substr ( $_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
Cuando tengas dudas sobre un funcionamiento como ese, lo primero que tienes que hacer, es saber que valor está llegando al if, para eso, puedes usar varias cosas, echo, print, var_dump, etc.

En tu caso, sría un var_dump( $idioma );

El problema que tenías,es que $idioma era igual a null, por lo tanto, siempre entra por el else del condicional.

Sobre la geolocalización, esta consiste en saber desde donde es una conexión, pero no es un sistema fiable para determinar el idioma del usuario, por ejemplo, yo me estoy conectandoa hora mismo de malasia, pero obviamente, mi idioma no es malayo.

Felicidad
__________________
¡ hey, hou, hou, hey !
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 22:46.