Foros del Web » Programando para Internet » PHP »

Mod rewrite y diseño con switch ($case)

Estas en el tema de Mod rewrite y diseño con switch ($case) en el foro de PHP en Foros del Web. Hola, llevo tiempo con este problema y buscando por todo los sitios sin encontrar una respuesta adecuada. Estoy intentando utilizar el mod_rewrite de apache para ...
  #1 (permalink)  
Antiguo 18/11/2005, 10:22
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
Mod rewrite y diseño con switch ($case)

Hola, llevo tiempo con este problema y buscando por todo los sitios sin encontrar una respuesta adecuada.
Estoy intentando utilizar el mod_rewrite de apache para hacer éstáticas las paginas diseñadas en php, la cuestión es que consigo que me reinterprete la primera parte de la web pero la segunda no. Me explico mi web tiene esta estructura:
Código:
<html>
<head>
</head>
<body>
<?$case=$_GET['case'];
switch ($case) {          
   case 1:
       include("primera/primera.php");       
       break;
   case 2:
       include("segunda/segunda.php");
       break; 
}
?>
</body>
</html>
La web funciona como

Código:
index.php?case=1&id=1
el mod_rewrite lo configuro de esta manera:
Código:
RewriteRule ^([^.?/]+)/([0-9]+)$ /index.php?case=$1&id=$2 [QSA]
Pero el problema es que la segunda variable id no llega a su destino que deberia ser la pagina primera.php, esta siempre me da error porque se ejecuta sin la variable que necesita.

¿Alguien me puede echar una mano? Muchas gracias
  #2 (permalink)  
Antiguo 18/11/2005, 19:54
Avatar de fullmental  
Fecha de Ingreso: octubre-2004
Ubicación: México DF, Xochimilco
Mensajes: 593
Antigüedad: 13 años, 1 mes
Puntos: 3
podrias explicar un poco tu RewriteRule.... estoy interesado en esto y no entiendo muy bien como funciona esta en especifico (soy nuevo en mod_rewrite).

o dar unos enlaces con info relacionada.
  #3 (permalink)  
Antiguo 19/11/2005, 04:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
Yo también ando perdida como puedes ver, simplemente estoy haciendo pruebas con el mismo, haz una búsqueda en el foro de Mo_rewrite y hay muchos hilos que lo explican. Puedes visitar el articulo de Zonaphp en el que se explica el funcionamiento http://www.zonaphp.com/articulo30.php
  #4 (permalink)  
Antiguo 30/11/2005, 12:28
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 14 años, 1 mes
Puntos: 0
Para quien le interese posteo la solución:
el tema era un problema de como estaban realizadas las expresiones regulares,
la URL index.php?case=a&id=1111111111

se rescribiria index/a/1111111111.html

siendo la primera variable una sola letra de la a a la z y la segunda variable un numero formado por un máximo de 13 digitos y un minimo de 9.
para ello el mod_rewrite sería así:

Código PHP:
RewriteRule ^index/([a-z]{1})/([0-9]{9,13}).html$ /index2.php?case=$1&id=$[L
Espero que le sirva a alguien.

Saludos
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 07:52.