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

Mod_Rewrite Help

Estas en el tema de Mod_Rewrite Help en el foro de Apache en Foros del Web. Saludos de nuevo tengo esto en el .htaccess Código: RewriteEngine On # Change "folder" to your catalog directory name RewriteBase /sp/communications/ RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING} RewriteRule ...
  #1 (permalink)  
Antiguo 08/02/2006, 09:05
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 4 meses
Puntos: 0
Mod_Rewrite Help

Saludos de nuevo

tengo esto en el .htaccess

Código:

RewriteEngine On
# Change "folder" to your catalog directory name
RewriteBase /sp/communications/
RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
Ahora las urls me quedan asi

http://www.ametrade.com/sp/communica...nicas-c-1.html

pero como tiene que ser en el idioma español com meto o en que parte del mod_rewrite escribo la variable ?language=es

??

es algo urgente gracias
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #2 (permalink)  
Antiguo 08/02/2006, 10:45
 
Fecha de Ingreso: diciembre-2001
Mensajes: 32
Antigüedad: 22 años, 5 meses
Puntos: 0
Hola, no sé si llegué a entender tu consulta. Pero según lo que he entendido hay 2 opciones:

Si quieres dejar el idioma fijo a españo, está claro como hacerlo, por ejemplo:

Código:
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&language=es&%{QUERY_STRING}
Por el contrario, si no es automatica la selección de idioma (que supongo qeu será así), habría que modificar las urls, añadiendo el idioma:

Una url de ejemplo sería:
Código:
centrales-telefonicas-c-1-es.html
El htaccess quedaría entonces:
Código:
RewriteEngine On
# Change "folder" to your catalog directory name
RewriteBase /sp/communications/
RewriteRule ^(.*)-p-(.*)-(.*).html$ product_info.php?products_id=$2&language=$3&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*)-(.*).html$ index.php?cPath=$2&language=$3&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*)-(.*).html$ index.php?manufacturers_id=$2&language=$3&%{QUERY_STRING}
Un Saludo y suerte
  #3 (permalink)  
Antiguo 08/02/2006, 10:55
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 4 meses
Puntos: 0
Me da error 404

lo que deseo es que quede asi la url .html

centrales-telefonicas-c-1.html?language=es

me entiendes?

por que el catalago toma es la variable que este despues de language
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #4 (permalink)  
Antiguo 08/02/2006, 11:16
 
Fecha de Ingreso: diciembre-2001
Mensajes: 32
Antigüedad: 22 años, 5 meses
Puntos: 0
Es que entonces en ese caso, si quieres que la url quede como me dices debería funcionar correctamente, y no tendrías que modificar nada del htaccess.

Si haces un echo $_GET['language'] te debería dar el valor de la variable.

He visto que eso mismo sí funciona correctamente en otra parte de la web:

ametrade.com/eng/communications/phone-systems-c-1.html?language=en (web en inglés)

ametrade.com/eng/communications/phone-systems-c-1.html?language=es (web en español)
  #5 (permalink)  
Antiguo 08/02/2006, 11:41
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 4 meses
Puntos: 0
si isauro pero el catalogo que tengo no es hecho por mi, es un oscommerce,.

te pregunto

hay manera de colocar ese ?language=es en el rules de mod_rewrite? y que no me de error...........

Gracias.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #6 (permalink)  
Antiguo 08/02/2006, 11:51
 
Fecha de Ingreso: diciembre-2001
Mensajes: 32
Antigüedad: 22 años, 5 meses
Puntos: 0
No entiendo el problema, porque tal y como lo tienes ahora mismo lo he probado en local y me funciona correctamente. Con el .htaccess que tienes, pongo la siguiente url:

phone-systems-p-1.html?language=es

y en el fichero php, al hacer un print_r($_GET); el resultado es:

Array ( [products_id] => 1 [language] => es )

Por lo que la variable language se recoge correctamente
  #7 (permalink)  
Antiguo 08/02/2006, 11:58
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 4 meses
Puntos: 0
Si isauro yo tambien coloco esa URL en mi navegador y me funciona pero en el catalogo no me aparece en los link el ?language=es me entiendes? no se coloca automatico

por eso te pregunto no hay manera de colocar en el

RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}

el ?language=es ???????????????

eso es todo :D y claro que no me de error 404 solamente que pase por el url ese ?language=es

Gracias por tu ayuda amigo.
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #8 (permalink)  
Antiguo 08/02/2006, 12:03
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 18 años, 4 meses
Puntos: 0
el problema radica es que en no se genera la URL como tu me dijiste al principio y sinceramente no se si se pueda pasar esa variable es a travez del mod rewrite pero de esa manera ?language=es
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #9 (permalink)  
Antiguo 09/02/2006, 02:49
 
Fecha de Ingreso: diciembre-2001
Mensajes: 32
Antigüedad: 22 años, 5 meses
Puntos: 0
Hola Carlos,

Al poner la url phone-systems-p-1.html?language=es, el .htaccess te redirige a:

product_info.php?products_id=1&language=es

Por lo menos yo lo he probado en local y lo hace correctamente. El comando {QUERY_STRING} hace que se añadan a la url todas las variables que se envíen por url.

Siento si no puedo ayudarte mas

Un Saludo
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 23:50.