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

Ayuda con mod_rewritte

Estas en el tema de Ayuda con mod_rewritte en el foro de Apache en Foros del Web. Hola. estoy creando un sitio de turismo un poco extenso en su contenido pero que solo tiene 3 secciones basicas: Noticias, Hospedaje y restaurantes. el ...
  #1 (permalink)  
Antiguo 18/11/2010, 11:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
Ayuda con mod_rewritte

Hola.
estoy creando un sitio de turismo un poco extenso en su contenido pero que solo tiene 3 secciones basicas: Noticias, Hospedaje y restaurantes.

el problema es que las url que tengo no son nada amigables para los buscadores.
para cada seccion los url quedan algo asi:

root.com/noticias/deportes/?id=0246
root.com/noticias/cultura/?id=0864
----
root.com/hospedaje/hostales/?id=0632
root.com/hospedaje/bed&breakfast/?id=0125
----
root.com/restaurantes/parrilladas/?id=5247
root.com/restaurantes/mariscos/?id=9136

mi intencion es en primer lugar sustiuir el "id" por el titulo de la noticia, hotel o restaurante, estube investigando un poco sobre htacces y ya lo logre hacer.
Lo que intento hacer ahora es eliminar del url la primera carpeta, es decir que los url finales se lean asi:

root.com/deportes/torneo-de-surf.htm
root.com/cultura/exposicion-de-pinturas.htm
----
root.com/hostales/tazumal-house.htm
root.com/bed&breakfast/almendros-de-san-lorenzo.htm
----
root.com/parrilladas/churrasqueria.htm

Pero no se como lograr eso, podria alguien echarme una mano para llegar a ese resultado?
root.com/mariscos/lapema.htm
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador
  #2 (permalink)  
Antiguo 20/11/2010, 20:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con mod_rewritte

¿Cuáles son las reglas que estás utilizando actualmente?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 20/11/2010, 22:05
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Ayuda con mod_rewritte

lo que tengo hasta ahora es algo asi:

Cita:
RewriteRule ^noticias/(.*)/(.*).htm$ root.com/noticias/?categoria=$1&id=$2 [L]
RewriteRule ^hospedaje/(.*)/(.*).htm$ root.com/hospedaje/?categoria=$1&id=$2 [L]
RewriteRule ^restaurantes/(.*)/(.*).htm$ root.com/restaurantes/?categoria=$1&id=$2 [L]
pero con eso el url queda asi:
root.com/noticias/deportes/torneo-de-surf.htm
root.com/hospedaje/hostales/tazumal-house.htm
root.com/restaurantes/parrilladas/churrasqueria.htm

mi intencion es eliminar del url visible esa primera carpeta
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador
  #4 (permalink)  
Antiguo 22/11/2010, 16:21
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Ayuda con mod_rewritte

mi problema es basicamente este:
tengo estas dos urls

root.com/deportes/torneo-de-surf.htm
root.com/hostal/almendros-de-san-lorenzo.htm

las informacion de las urls las procesan dos archivos php diferentes
root.com/noticias/index.php y
root.com/hospedaje/index.php
respectivamente.

la carpeta "deportes" y "hostal"; y el titulo de la noticia o el hostal son generadas dinamicamente desde una base de datos. Mi problema es que no se como escribir las expresiones regulares para que reconozca que el primer url se procese en root.com/noticias/index.php y el segundo en root.com/hospedaje/index.php

de hecho estoy comenzando a dudar si esto es posible por que le he preguntado a varias personas y no me han sabido responder como solucionar ese problema.
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador
  #5 (permalink)  
Antiguo 22/11/2010, 20:14
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con mod_rewritte

Con sólo las reglas de Apache, usando comodines, no podrás saber dónde dirigir. Tendrías que canalizar todas las reglas a una única página que finalmente haga la distinción y envíe la petición al sitio correcto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 22/11/2010, 23:31
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 14 años, 7 meses
Puntos: 10
Respuesta: Ayuda con mod_rewritte

creo que encontre una posible solucion que qun que no my refinada creo que me puede resultar pero quisiera su opinion.

la regla quedaria algo asi:

Cita:
RewriteRule ^(.*)/(.*).htm$ root.com/noticias/index.php?categoria=$1&id=$2 [L]
RewriteRule ^(.*)/(.*).html$ root.com/hospedaje/index.php?categoria=$1&id=$2 [L]
RewriteRule ^(.*)/(.*)$ root.com/hospedaje/index.php?categoria=$1&id=$2 [L]
para diferenciar a una de otra la primer url la tratare como una pagina con extension .htm, la segunda url con una extension .html y la tercera sin ninguna extension.

No se si pudiera terner algun problema con eso
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador

Etiquetas: Ninguno
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 20:04.