Foros del Web » Programando para Internet » PHP »

Problema Idioma + URLS Amigables + $_GET

Estas en el tema de Problema Idioma + URLS Amigables + $_GET en el foro de PHP en Foros del Web. Buenas noches. Presento mi problema: Estoy haciendo una web y la estoy haciendo de forma que detecte el idioma del navegador del usuario y se ...
  #1 (permalink)  
Antiguo 02/03/2012, 23:06
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 13
Problema Idioma + URLS Amigables + $_GET

Buenas noches.
Presento mi problema:

Estoy haciendo una web y la estoy haciendo de forma que detecte el idioma del navegador del usuario y se lo asigne en la web:

Código PHP:
substr$_SERVER['HTTP_ACCEPT_LANGUAGE'], 02); 
El problema se plantea de la forma siguiente:
He puesto un div en que si quieren pueden cambiar el idioma. Esto en un principio no era ningún problema ya que con utilizar variables GET:

Código HTML:
<a href="?lang=es">Español</a>
<a href="?lang=en">Inglés</a>  [...]
era suficiente. El caso es que he hecho URLS AMIGABLES en toda la página y entonces este '?lang=es' no me sirve para nada. ¿Cómo puedo hacerlo?
  #2 (permalink)  
Antiguo 03/03/2012, 02:09
Avatar de rigobcastro  
Fecha de Ingreso: febrero-2012
Ubicación: Lejanías
Mensajes: 69
Antigüedad: 12 años, 2 meses
Puntos: 21
Respuesta: Problema Idioma + URLS Amigables + $_GET

Muestra como has hecho las url amigables y un ejemplo de como llamabas antes la URL y ahora con las amigables. Esto ayudará a acoplar el rewrite para tu aplicación.
  #3 (permalink)  
Antiguo 03/03/2012, 08:46
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 14 años, 10 meses
Puntos: 13
Respuesta: Problema Idioma + URLS Amigables + $_GET

Código:
RewriteRule ^home/?$ index.php
	RewriteRule ^home/([a-zA-Z0-9_-]*)/?$ index.php?DoSection=$1
RewriteRule ^news/?$ news.php
	RewriteRule ^news/([a-zA-Z0-9_-]*)/?$ news.php?DoSection=$1
	RewriteRule ^news/([0-9]*)/([a-zA-Z0-9_.-]*)/?$ news.php?view=$1&DoSection=$2
RewriteRule ^downloads/?$ downloads.php?DoSection=all
	RewriteRule ^downloads/send/?$ downloads.php?DoSection=upload
	RewriteRule ^downloads/([0-9]*)/?$ downloads.php?DoSection=$1
RewriteRule ^events/?$ events.php
RewriteRule ^awards/?$ awards.php
RewriteRule ^ranking/?$ ranking.php
RewriteRule ^contact/?$ contact.php
RewriteRule ^admin/?$ administration.php
RewriteRule ^profile/?$ profile.php
RewriteRule ^logout/?$ logout.php
RewriteRule ^online_users/?$ ou_list.php
RewriteRule ^registered_users/?$ r_list.php	

RewriteRule ^profile/user/([a-zA-Z0-9_-]*)/?$ profile.php?user=$1
RewriteRule ^profile/edit/(\w+)/?$ profile.php?edit=$1
RewriteRule ^profile/update/(\w+)/?$ profile.php?update=$1
RewriteRule ^search/(\w+)/?$ profile.php?search=$1

RewriteRule ^messages/(\w+)/?$ profile.php?messages=$1
RewriteRule ^messages/new/([a-zA-Z0-9_-]*)/?$ profile.php?messages=new&to=$1
RewriteRule ^messages/view/(\w+)/?$ profile.php?messages=view&id=$1
RewriteRule ^messages/view/(\w+)/(\w+)/?$ profile.php?messages=view&id=$1&action=$2
RewriteRule ^messages/send/(\w+)/?$ profile.php?messages=send&id=$1
En un principio utilizaba el cambio de lenguaje con $_GET['lang'] simplemente con un link a "?lang=XX" donde XX era el idioma: ES, EN...
Ahora esto solo funciona en las urls amigables en que no se emplea GET alguno.

Última edición por BanNsS1; 03/03/2012 a las 08:59

Etiquetas: amigables, url, usuarios, idiomas
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 08:54.