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

URL amigables con 3 parámetros, distintas variables

Estas en el tema de URL amigables con 3 parámetros, distintas variables en el foro de Apache en Foros del Web. Hola foro, estoy probando de crear con el rewrite y el htaccess para una fuente que ordena el resultado de una consulta a bbdd por ...
  #1 (permalink)  
Antiguo 17/03/2014, 14:50
 
Fecha de Ingreso: enero-2007
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 0
URL amigables con 3 parámetros, distintas variables

Hola foro, estoy probando de crear con el rewrite y el htaccess para una fuente que ordena el resultado de una consulta a bbdd por todas ofertas, todas las ofertas de la sección, todas las ofertas de la categoría

Código XML:
Ver original
  1. <div class="generalmenubot">
  2. <a rel="alternate" hreflang="<?=$lang?>" title="<?=e("Ver ofertas de esta marca");?>" href="/<?=$lang?>/<?=$dires[$lang]?>/<?=$rows['idMark'];?>-<?=normaliza(mostrarMark($rows['idMark']));?>"><?=mostrarMark($rows['idMark']);?></a>
  3. <a rel="alternate" hreflang="<?=$lang?>" title="<?=e("Ver ofertas de esta sección");?>" href="/<?=$lang?>/<?=$dires[$lang]?>/<?=$rows['idSec'];?>-<?=normaliza(mostrarSec($rows['idSec']));?>"><?=mostrarSec($rows['idSec']);?></a>
  4. <a rel="alternate" hreflang="<?=$lang?>" title="<?=e("Ver ofertas de esta categoria");?>" href="/<?=$lang?>/<?=$dires[$lang]?>/<?=$rows['idCat'];?>-<?=normaliza(mostrarCat($rows['idCat']));?>"><?=mostrarCat($rows['idCat']);?></a>
  5. </div>

Código Apache:
Ver original
  1. Rewriterule ^(.*)/ofertas/([0-9]+)-(.*)$ index.php?lang=es&mrk=$2&mrkname=$3 [L]
  2. Rewriterule ^(.*)/ofertas/([0-9]+)-(.*)$ index.php?lang=es&sec=$2&secname=$3 [L]
  3. Rewriterule ^(.*)/ofertas/([0-9]+)-(.*)$ index.php?lang=es&cat=$2&catname=$3 [L]

Solo funciona la primera, apriete en el enlace que apriete de los tres, siempre resuelve la línea, la de la marca...

Puede indicarme alguien como hacer esto ...o si se puede tener tres urls con variables diferentes y el mismo número de parámetros?

gracias anticipadas
Saludos
  #2 (permalink)  
Antiguo 17/03/2014, 15:14
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: URL amigables con 3 parámetros, distintas variables

Si te fijas ahí testeas siempre con el mismo patrón:

Cita:
^(.*)/ofertas/([0-9]+)-(.*)$
Y además estás usando la bandera [L], que no aplica más reglas cuando ésta se cumple.

Se soluciona poniendo una estructura para cada cual, es decir, alguna marca en la URL para distingir si hay que derivar al parámetro mrk o sec o cat etc.

Saludos
  #3 (permalink)  
Antiguo 17/03/2014, 15:43
 
Fecha de Ingreso: enero-2007
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: URL amigables con 3 parámetros, distintas variables

si ya me he fijado...pero no se me ocurre que más hacer creía que con indicar las variables diferentes ya las marcaba, me puedes poner un ejemplo de lo que comentas por favor

gracias
  #4 (permalink)  
Antiguo 17/03/2014, 15:49
 
Fecha de Ingreso: enero-2007
Mensajes: 19
Antigüedad: 17 años, 3 meses
Puntos: 0
Respuesta: URL amigables con 3 parámetros, distintas variables

quiere decir que tendía que ser una expresión de este tipo?

Código Apache:
Ver original
  1. Rewriterule ^(.*)/ofertas/(.*),(.*)/(.*),(.*)/$ index.php?lang=es&$2=$3&$4=$5

saludos

Última edición por jormaz; 17/03/2014 a las 16:08

Etiquetas: amigables, distintas, funcion, htaccess, ip, php, url, 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 23:56.