Foros del Web » Administración de Sistemas » Apache »

Obtener idioma por httaccess

Estas en el tema de Obtener idioma por httaccess en el foro de Apache en Foros del Web. Hola mira la pregunta es esta , como puedo saber y guardar el idioma por htaccess, las url son estas . Español www.test.com www.test.com/loquesea Ingles ...
  #1 (permalink)  
Antiguo 29/02/2012, 17:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Obtener idioma por httaccess

Hola mira la pregunta es esta , como puedo saber y guardar el idioma por htaccess,

las url son estas .

Español

www.test.com
www.test.com/loquesea
Ingles

www.test.com/en/
www.test.com/en/loquesea

Alguna ayuda , muchas gracias
  #2 (permalink)  
Antiguo 29/02/2012, 22:32
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Obtener idioma por httaccess

No sé muy bien que entendés por "guardar el idioma por htaccess"
Ahora que si lo que querés es redirigir segun el idioma

Options +FollowSymLinks
RewriteEngine on
#inglés
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* http://sitio.com/en [R,L]

#español
RewriteCond %{HTTP:Accept-Language} (es) [NC]
RewriteRule .* http://sitio.com/es [R,L]

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 01/03/2012, 07:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: Obtener idioma por httaccess

Lo que quiero es poder coger en php la variable del idioma....es decir que si

www.test.com/en/
www.test.com/en/loquesea

o

www.test.com/
www.test.com/loquesea


q el httacces , no se si sera posible , me pase el en o en blanco como una variable, para que la recogerla en php


Un saludo
  #4 (permalink)  
Antiguo 01/03/2012, 09:35
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Obtener idioma por httaccess

Podés hacer esto

.htaccess

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. RewriteEngine On
  3. RewriteRule ^(en|es)/(.*)$ $2.php?lang=$1 [L]

inicio.php

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>inicio</title>
  6. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  7. </head>
  8. <body>
  9. <p>
  10. <?php
  11. $lang = $_GET['lang'];
  12. if($lang == "es"){
  13. echo "español";
  14. }elseif($lang == "en"){
  15. echo "inglés";
  16. }else{
  17. echo "español por defecto";
  18. }
  19. ?>
  20. </p>
  21. </body>
  22. </html>

idioma.php
igual que la anterior, pero en title le ponés "idioma", es para verificar el funcionamiento con diferentes páginas.

demo.html (links de ejemplo)

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <title>titulo</title>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  5. </head>
  6. <a href="/en/inicio">inicio.php en inglés</a> | <a href="/es/idioma">idioma.php en español</a> |
  7. <a href="/es/inicio">inicio.php en español</a> | <a href="/en/idioma">idioma.php en inglés</a>
  8. </body>
  9. </html>

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 01/03/2012, 17:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 256
Antigüedad: 13 años
Puntos: 5
Respuesta: Obtener idioma por httaccess

No funciona, no sale nada...y estoy usando wordpress.
  #6 (permalink)  
Antiguo 01/03/2012, 18:19
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Obtener idioma por httaccess

hacé esta modificacion en .htaccess

Código Apache:
Ver original
  1. Options +indexes +FollowSymLinks
  2. RewriteEngine On
  3. RewriteCond %{SCRIPT_FILENAME} !-d  
  4. RewriteCond %{SCRIPT_FILENAME} !-f
  5. RewriteRule ^(en|es)/(.*)$ /$2.php?lang=$1 [L]

A mi me sale, me funciona y desde ya que NO estoy usando wordpress

Demo
http://mr2.emprear.com
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: htaccess, url, 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 10:08.