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

Mod rewrite redirige a url que es dirección en el filesystem

Estas en el tema de Mod rewrite redirige a url que es dirección en el filesystem en el foro de Apache en Foros del Web. Hola, tengo el siguiente problema: En mi archivo .htaccess tengo una regla con condición que me redirige las peticiones según el idioma predeterminado del navegador ...
  #1 (permalink)  
Antiguo 05/12/2010, 10:52
 
Fecha de Ingreso: mayo-2002
Ubicación: Punta del Este
Mensajes: 32
Antigüedad: 17 años, 2 meses
Puntos: 0
Exclamación Mod rewrite redirige a url que es dirección en el filesystem

Hola, tengo el siguiente problema:

En mi archivo .htaccess tengo una regla con condición que me redirige las peticiones según el idioma predeterminado del navegador del usuario. Para eso tengo lo siguiente:

Código:
RewriteCond %{HTTP:Accept-Language} es.* [NC]
RewriteRule .* es/$1 [L,NC,R=301]

RewriteCond %{HTTP:Accept-Language} en.* [NC]
RewriteRule .* en/$1 [L,NC,R=301]
Supuestamente esta regla redirecciona una petición colocándole el prefijo "en/" o "es/" según corresponda. El problema es que no es ese el resultado, me redirecciona a una dirección en mi sistema de archivos y no a una dirección de servidor. Para dar un ejemplo: si escribo en la barra de direcciones:

http://localhost/misitio/imagenes/logo.jpg

me redirecciona a

http://localhost/C:/Program%20Files%...genes/logo.jpg

obviamente no es lo que quiero, sino:

http://localhost/misitio/es/imagenes/logo.jpg

Dejo por si sirve el resultado del rewrite.log:

Código:
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (3) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] applying pattern '(.*)' to uri 'imagenes/logo.jpg'
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (4) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] RewriteCond: input='en-US,en;q=0.8' pattern='es.*' [NC] => not-matched
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (3) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] strip per-dir prefix: C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/imagenes/logo.jpg -> imagenes/logo.jpg
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (3) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] applying pattern '(.*)' to uri 'imagenes/logo.jpg'
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (4) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] RewriteCond: input='en-US,en;q=0.8' pattern='en.*' [NC] => matched
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (2) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] rewrite 'imagenes/logo.jpg' -> 'en/imagenes/logo.jpg'
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (3) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] add per-dir prefix: en/imagenes/logo.jpg -> C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/en/imagenes/logo.jpg
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (2) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] explicitly forcing redirect with http://localhost/C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/en/imagenes/logo.jpg
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (1) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] escaping http://localhost/C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/en/imagenes/logo.jpg for redirect
127.0.0.1 - - [05/Dec/2010:15:48:17 --0200] [localhost/sid#fa3140][rid#3d8a140/initial] (1) [perdir C:/Program Files (x86)/Apache Software Foundation/Apache2.2/htdocs/misitio/] redirect to http://localhost/C:/Program%20Files%20(x86)/Apache%20Software%20Foundation/Apache2.2/htdocs/misitio/en/imagenes/logo.jpg [REDIRECT/301]
Si alguien sabe cómo solucionarlo, o tiene alguna idea para probar, se lo agradezco mucho.


Saludos!

Etiquetas: mod_rewrite, multi-idioma, multilenguaje, redirect, htaccess
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 02:47.