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

.htaccess y variables

Estas en el tema de .htaccess y variables en el foro de Apache en Foros del Web. Estimados, no se si estoy en el lugar correcto del foro, uds. me podran orientar sino. Detallo el problema que tengo. Estoy utilizando .htaccess para ...
  #1 (permalink)  
Antiguo 03/02/2012, 09:05
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 16 años, 5 meses
Puntos: 1
.htaccess y variables

Estimados, no se si estoy en el lugar correcto del foro, uds. me podran orientar sino.

Detallo el problema que tengo.
Estoy utilizando .htaccess para generar url amistosas.
En realidad es mas que nada por un tema de mantener las mismas url que actualmente ya que estan muy bien posicionadas en google.

El tema es que necesito pasarle una variable a la url y no estoy seguro como.

Supongamos que yo tengo la url producto_uno.php
La misma yo la estoy generando con una instruccion de .htacces como la que escribo a continuacion:

Options +FollowSymlinks
RewriteEngine on
Rewriterule ^producto_uno.php plantilla.php?id=1

Ahora bien... hasta aca todo perfecto... pero en la web original yo le pasaba parametros a producto_uno.php y por ejemplo me quedaba asi: producto_uno.php?variable=2

Esto es justamente lo que no se como hacer con el .htaccess ya que si yo escribo en el navegador producto_uno.php?variable=2 no me muestra la variable 2 en pantalla ya que la url en realidad no existe.

De la unica forma que me la muestra es si yo escribo plantilla.php?id=1&variable=2

Alguna idea de que hacer?

Muchas gracias...
  #2 (permalink)  
Antiguo 03/02/2012, 10:40
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 1 mes
Puntos: 140
Respuesta: .htaccess y variables

Estoy convencido que se puede hacer, y por eso me sumo a este hilo a ver si aprendo como!

Yo lo he resuelto "cutremente" pasando esa variable extra (en tucaso variable2) por post, pero no me acaba de convencer...

saludos
  #3 (permalink)  
Antiguo 03/02/2012, 11:00
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: .htaccess y variables

Gracias!

Estuve probando lo siguiente:

RewriteRule ^producto_uno.php?variable=2 plantilla.php?id=1&variable=2

Donde producto_uno.php?variable=2 es la url que quiero conservar.

Tenia todo el sentido del mundo para mi... pero no anda! me dice que no puede encontrar la url producto_uno.php

Sigo perdido... incluso mas que antes.
  #4 (permalink)  
Antiguo 04/02/2012, 11:39
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: .htaccess y variables

Cualquier ? que le pongas a la expresion te cuelga la regla, lo que tenes que hacer es capturar la QS con RewriteCond

Código Apache:
Ver original
  1. RewriteCond %{QUERY_STRING} ^id=(.*)&variable=(.*)$ [NC]
  2. RewriteRule ^producto_uno\.php$ /plantilla.php?id=%1&variable=%2 [NC,L,R=301]

y tus links

<a href="/producto_uno.php?id=28&amp;variable=5">xxx</a>

esto es para hacer un redirect si querés preservar los vinculos, aunque de url amigable mucho no tiene

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 04/02/2012, 11:55
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 1 mes
Puntos: 140
Respuesta: .htaccess y variables

Como siempre, muchísimas gracias!

Sí, de amigable no tiene nada, pero me es de gran utilidad para el buscador de mi web, donde paso unos cuantos parámetros (palabras, tipo de búsqueda, idioma entre otros) y quiero mantener la estructura de directorios "virtual" que el resto de la web.
Lo probé primero con variables por url pero tenía el mismo problema que lucianomdq, que al pasar el mod_rewrite me hacía cosas raras.
Probe luego con post pero como tengo más formularios por ahí que envían otras variables por post (a la hora de seleccionar un artículo al carrito), y luego volvían a recargar la página, me encontrava con fastidiosos mensajes de "va a volver a enviar información etcetc" de los navegadores al intentar recargar una página que se ha accedido con variables por post...

Esta solución me va perfecta!!

Gracias de nuevo
  #6 (permalink)  
Antiguo 04/02/2012, 12:14
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: .htaccess y variables

Un detalle al margen, por el tema de reenvio de formularios, la mejor solución (y probé muchas), pasar los forms con Ajax

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 04/02/2012, 13:19
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 1 mes
Puntos: 140
Respuesta: .htaccess y variables

Sí, ya me lo recomendaron más de una vez, usar esa cosa del Ajax (en formularios o para montar el carrito de la compra, etc), y lo tengo como asignatura pendiente (no soy informático ni nada parecido y voy aprendiendo a trompicones...)

Gracias de nuevo!
  #8 (permalink)  
Antiguo 04/02/2012, 13:25
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: .htaccess y variables

Te dejo esto para que experimentes y te fijes como trabaja, es algo un poco genérico, pero para que se vean los conceptos
http://foros.emprear.com/php/demo-form-ajax-captcha/

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 06/02/2012, 06:06
 
Fecha de Ingreso: junio-2008
Mensajes: 122
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: .htaccess y variables

Gente, muchisimas gracias por el dato!
Es verdad que de url amigable no tiene demasiado pero me pidieron que respete los url como estan por un tema de posicionamiento en los buscadores.
Vamos a ver que pasa!
Mil gracias nuevamente!

Etiquetas: variables
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:41.