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

Primero pasos con paginas dinámicas y mod_rewrite

Estas en el tema de Primero pasos con paginas dinámicas y mod_rewrite en el foro de Apache en Foros del Web. Hola a todos! quiero decirles que soy bastante nuevo en php y estoy dando unos pasos con las páginas dinámicas y mod_rewrite para obtener unos ...
  #1 (permalink)  
Antiguo 05/08/2010, 14:47
 
Fecha de Ingreso: abril-2009
Mensajes: 12
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Primero pasos con paginas dinámicas y mod_rewrite

Hola a todos!

quiero decirles que soy bastante nuevo en php y estoy dando unos pasos con las páginas dinámicas y mod_rewrite para obtener unos sea friendly links.

Primero les voy a explicar como tengo pensado este proyecto de aprendisaje para luego plantearles las dudas y ver si me pueden ayudar a entender los mecanismos más optimos para este tipo de proyectos.

Estoy practicando creando un sitio para una supuesta inmobiliaria. En cuanto al funcionamiento del php:

tengo un index.php que recibe un GET con la variable que define la pagina a cargar, ej: $p=casas que me cargo el archivo casas.html o casas.php o lo que sea que necesite

entonces index.php?p=casas me trae la pagina solicitada y con un poco de rewrite obtengo dominio.com/casas.

Código:
RewriteRule ^([^/]+)/$ index.php?p=$1
Hasta aqui todo perfecto, pero empiezan mis dudas en cuanto me plateno distintas opciones de seleccion y navegacion por parte del usuario

Que pasa si el usuario quisiera ver todas las casas que estan en alquiler?:

index.php?operacion=alquiler&p=casas

o

dominio.com/alquiler/casas

Esto me funciona ya que $p (la que me carga la pagina esta definida en casas) y en el htaccess defino que en el pase de 2 variables, tengo como $p la segunda

Código:
RewriteRule ^([^/]+)/([^/]+)/$ index.php?operacion=$1&p=$2 [L]
Pero podriamos retomar el 1 ejemplo, donde el usuario lista todas las CASAS y si agregaramos un paginador obtendriamos algo asi

index.php?p=propiedades&pageno=2

Que queriendo transformarlo con el rewrite lo ideal seria

dominio.com/casas/2/

pero este rewrite ya no funciona, ya que tengo la otra regla que establecia que en el caso de tener 2 variables, la primer variable era la operacion y la segunda variable era el template a cargar, es decir que necesito resolver multiples casos que coinciden en el numero de variables:

dominio.com/casas/2/
dominio.com/alquiler/casas/

Y eso ya no se como hacerlo!!!

Pensando más en profundad, todavia no llegamos al punto en que el usuario ve la informacion detallada de la propiedad, que con un rewrite tendria algo asi

dominio.com/venta/departamentos/095-nombre-de-departamento.htlml


Esa propiedad la levanto mediante ID (095) y tambien uso su titulo para generar el .html del rewrite o sea $id-$titulo. Los valores que paso son el tipo de operacion (venta) y el tipo de propiedad (departamentos), pero lo que no se es como pasar la variable $p que me define el template a usar...

Creo que el principal problema que tengo es que no tengo un esquema claro y definido del funcionamiento del sistema, y es por eso les escribo, para ver si me pueden aclarar el proceso.

Talvez no me convenga definir una variable $p para levantar mi template, sino analizando las otras variables haga un descarte (con swicth, if o algo similar). Es decir, que si tipo de operacion o tipo de inmueble es X entonces uso el template Y...

O tal vez hay otra forma totalmente distinta!

REPITO QUE SOY UN AMATEUR jajajajajajaj y no estoy buscando las soluciones dadas, sino una ayuda en el planteo conceptual/estructural o talvez me digan "buscá tal opcion en google"

muchas gracias!! y perdon por lo largo del post
  #2 (permalink)  
Antiguo 05/08/2010, 14:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a Apache

Etiquetas: pasos, primero
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:10.