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

.htaccess Permisos y uso

Estas en el tema de .htaccess Permisos y uso en el foro de Diseño web en Foros del Web. Buenas. Tengo dudas con este fichero, la primera es que permisos ha de tener en un sistema linux para que funcione correctamente. Y la segunda ...
  #1 (permalink)  
Antiguo 25/10/2006, 03:43
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 5 meses
Puntos: 0
Busqueda .htaccess Permisos y uso

Buenas.
Tengo dudas con este fichero, la primera es que permisos ha de tener en un sistema linux para que funcione correctamente.

Y la segunda es basicamente como funciona, actualmente lo que quiero hacer es una pagina web con cabida para varios idiomas, use un tutorial para este fin en el que ponia que habia que escribir en el .htacces estas lineas:
Código:
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (es)
RewriteRule (.*) /es/$1 [R,L]

RewriteCond %{HTTP:Accept-Language} !(es)
RewriteRule (.*) /en/$1 [R,L]
Pero no me funciona, el usuario no es enviado a los directorios "/es/index.php" o "en/index.php" . La parte de "(.*)" creo que habria que sustituirla por (localhost/web/)" ¿me equivoco? Pero no funciona de ningun modo. Y tampoco se el valor que tendra la variable $1, o como se pasa ese valor.

Una ayudita me vendria bien.


Nota: mi web tiene el siguiente arbol:
Código:
Web/
   .htaccess
   es/  
      index.php
      ....
   en/
      index.php
      ....
  #2 (permalink)  
Antiguo 25/10/2006, 08:21
Avatar de fer10  
Fecha de Ingreso: octubre-2005
Ubicación: Guadalajara - Mexico
Mensajes: 905
Antigüedad: 18 años, 5 meses
Puntos: 4
yo lo que veo es que
te falta asignarle la base para que empieze del root del sitio.
Cita:
RewriteBase /
demas creo que seria asi no ?
Cita:
RewriteEngine on
RewriteBase /

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

RewriteCond %{HTTP:Accept-Language} !(es) [NC]
RewriteRule ^(.*)$ /en/$1 [R=301,L]

NC
= sensibilidad a mayusculas y minisculas (linux lo tiene)
^ = inicio de la cadena
$ = fin de la cadena
R = redirect: para los robots tienes que decirles que tipo de redirect es en este caso puse
movido permantentemente puedes tambien poner 302 que es temporal
__________________
Saludos
FT.
www.fernando.com.mx

Última edición por fer10; 25/10/2006 a las 08:30
  #3 (permalink)  
Antiguo 26/10/2006, 05:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 5 meses
Puntos: 0
Pues no me va.
No hay que instalar ningun modulo ni nada no?

Aparte el "rewritebase /" va a la raiz de la web o a la raiz del sistema? porque la web esta en mi sistema

A ver si con el manual de apache me entero de algo... pero esta en ingles
  #4 (permalink)  
Antiguo 26/10/2006, 08:07
Avatar de fer10  
Fecha de Ingreso: octubre-2005
Ubicación: Guadalajara - Mexico
Mensajes: 905
Antigüedad: 18 años, 5 meses
Puntos: 4
si tienes que habilitar en el sisitema lo del mod_rewrite

en windows esta en:
...Apache\conf\httpd.conf

y dodne esta la lista de modulos quitas el #(gatito) de esta

AddModule mod_rewrite.c

y ya =)

nota: mi script no lo probe, pero el tullo lo encontre en internet

y recuerda reinicar apache para que aplique cambios jejejej
__________________
Saludos
FT.
www.fernando.com.mx
  #5 (permalink)  
Antiguo 27/10/2006, 04:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 5 meses
Puntos: 0
Ya me parecia a mi que esto no tenia pinta de hacer nada xD.
a ver si pruebo
  #6 (permalink)  
Antiguo 27/10/2006, 08:47
Avatar de fer10  
Fecha de Ingreso: octubre-2005
Ubicación: Guadalajara - Mexico
Mensajes: 905
Antigüedad: 18 años, 5 meses
Puntos: 4
un tip, cuando te equivocas en aguna linea del .htacces te sale un internal server error y no te deja ver nada de el sitio..

te lo digo por expericencia porpia :P
__________________
Saludos
FT.
www.fernando.com.mx
  #7 (permalink)  
Antiguo 28/10/2006, 04:34
 
Fecha de Ingreso: octubre-2006
Mensajes: 11
Antigüedad: 17 años, 5 meses
Puntos: 0
Si ya lo hice, me dio un error pero ya esta arreglado, ahora va bien :D
Supongo que si pero en esta parte:
Código:
RewriteCond %{HTTP:Accept-Language} !(es) [NC]
RewriteRule ^(.*)$ /en/$1 [R=301,L]
Pueden hacerse operaciones del tipo AND(&&) y OR(&&) no?
Por ejemplo
Código:
RewriteCond %{HTTP:Accept-Language} !(es)&&(otracosa) [NC]
RewriteRule ^(.*)$ /en/$1 [R=301,L]
Y el Rewrite base tiene que ser por narices "rewritebase /" ? Porque puse "rewritebase /web" y no tiraba, me accedia a "/var/www/es" cuando tenia que acceder a "/var/www/web/es" Asi que en el codigo tube que poner "RewriteRule ^(.*)$ web/es/$1 [R=301,L]" , una vez por cada idioma, que ahora solo son 2 pero tengo pensado meter mas xD

bueno gracias por la ayuda , que me parece que no te las di
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 09:32.