Foros del Web » Programando para Internet » PHP »

Sobre mod rewrite

Estas en el tema de Sobre mod rewrite en el foro de PHP en Foros del Web. Hola a todos, antes que nada, feliz año a todos l@s forer@s Mi duda es sobre mod rewrite. Tengo un proyecto entre manos que el ...
  #1 (permalink)  
Antiguo 04/01/2008, 04:00
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 18 años, 4 meses
Puntos: 0
Sobre mod rewrite

Hola a todos,

antes que nada, feliz año a todos l@s forer@s

Mi duda es sobre mod rewrite. Tengo un proyecto entre manos que el cliente me ha dicho que tiene que tener url´s amigables usando mod rewrite, pero la informacion que he encontrado por internet no me resuelve todas mis dudas.

El proyecto es un portal sobre noticias deportivas a nivel nacional, por lo que tendrá varias categorias, como seran futbol, baloncesto, etc....y varias subcategorias, por ejemplo dentro de futbol todos los equipos de primera división. Cada subcategoria contendrá una serie de noticias relacionadas con dicho equipo.

Por tanto tendria una url que seria esto aproximadamente
index.php?cat=1&subcat=10&articulo=246

esto querria decir la categoria 1 que seria por ejemplo Futbol, la subcategoria 10 que corresponderia al Sevilla F.C. y la noticia con id 246 que corresponde al dia 04/01/2008 y queria que quedara mas o menos asi:

http://www.noticiasdeportivas.com/fu.../04012008.html

la pregunta es:

como tengo que hacer las llamadas a las urls???

<a href="futbol/sevillafc/04012008.htm">Noticia</a>
o
<a href="index.php?cat=1&subcat=10&articulo=246">Noti cia</a>????

he leido que tienen que hacerse las llamadas a las urls amigables desde los enlaces pero luego no entiendo como puedo coger las variables necesarias para que la nueva pagina muestre el contenido concreto, es decir, el articulo 246.


gracias y un saludo.
  #2 (permalink)  
Antiguo 04/01/2008, 04:19
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Sobre mod rewrite

mod_rewrite te sirve para transformar la url amigable en la url que usa tu aplicacion. Para crear la url que usa tu aplicacion usa los datos que saca de la url amigable. Si tu aplicacion requiere que la url sea index.php?cat=1&subcat=10&articulo=246 , los valores de cat, subcat y articulo deben aparecer en la url amigable. En tu url amigable no aparecen para nada esos valores , futbol/sevillafc/04012008.htm , aunque supongo que se corresponde con futbol, sevillafc y el id si que no aparece por ningun sitio. Con esta URL amigable seria facil si tu aplicacion fuese llamada como index.php?cat=futbol&subcat=sevillafc&fecha=040120 08 . O si no puedes cambiar la url de tu aplicacion, tendrias que usar una url amigable del tipo futbol-1/sevillafc-10/04012008-246.html , metiendo los valores correspondientes. Luego con el mod_rewrite puedes usar expresiones regulares para coger solo los valores.

En tu codigo HTML debes generar siempre las urls amigables.

Resumiendo, la URL amigable debe contener los valores necesarios para crear la url de tu aplicacion.
  #3 (permalink)  
Antiguo 04/01/2008, 04:34
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Sobre mod rewrite

vale, supongamos que creo las urls amigable y las enlazo dentro de la aplicacion y tal, como saco luego los datos de la url para usarlos en el codigo php???
  #4 (permalink)  
Antiguo 04/01/2008, 04:39
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Sobre mod rewrite

Eso lo hace mod_rewrite, tu creas la regla de transformacion de la URL amigable a la url de tu aplicacion. Para PHP es totalmente transparente, es como si hubieses llamado directamente a la url del tipo index.php?...
  #5 (permalink)  
Antiguo 04/01/2008, 04:51
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Sobre mod rewrite

Es decir, ya la ultima coña que doy:

desde un listado de noticias quiero llamar a una noticia en concreto, lo muestro mediante php, pero para hacer el enlace tengo que llamar a una noticia por el id o a una url estatica directamente. En este caso seria a una url estatica, por ejemplo, quiero ver las noticias del dia de hoy, llamaria a futbol/sevillafc/04082008/ y me saldrian las noticias de hoy...hasta aqui lo tengo claro....

ahora, la duda que me surge es la siguiente.

Para mostrar una noticia, tengo que tener una pagina en php que muestre las noticias. Esta pagina será comun a todos los dias y equipos de futbol, supongamos que se llama noticias_diarias.php y segun los parametros recibidos por la url mostrará las noticias de un dia concreto y de un equipo concreto.

como recibo los datos, por $_GET[]???
donde especifico la pagina noticias_diarias.php en el .htaccess???

Un saludo.
  #6 (permalink)  
Antiguo 04/01/2008, 05:12
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 5 meses
Puntos: 48
Re: Sobre mod rewrite

Si, por GET.

Por ejemplo, tu htaccess con mod_rewrite es:

Cita:
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ noticias_diarias.php?cat=$1&subcat=$2&fecha=$3
En la barra de direcciones de tu navegador aparecera futbol/sevillafc/04012008/ pero para tu servidor web sera como si llamasen a noticias_diarias.php?cat=futbol&subcat=sevillafc&f echa=04012008 .
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 16:15.