Ver Mensaje Individual
  #14 (permalink)  
Antiguo 20/09/2010, 12:48
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Mejorar web modular

Buenas de nuevo,

He aplicado la funcionalidad de recoger los artículos de la base de datos, para ello en mi modulo "articulo" esta compuesto de la siguiente forma: me lista los artículos que hay en caso que no reciba ningún parámetro por $_GET['urlamigable']

articulos.php
Código PHP:
Ver original
  1. <?php
  2. if (!empty($tit_amigable_articulo)){
  3. try{
  4.     $query = "SELECT post_title,post_content FROM articulos where post_name='$tit_amigable_articulo'";
  5.     $comando = $db_master->prepare($query);
  6.     $comando->execute();
  7.     while( $datos = $comando->fetch() ) {
  8.         $post_title = $datos['post_title'].'<br />';
  9.         $post_content = $datos['post_content'].'<br />';
  10.     }
  11. } catch (Exception $e) {
  12. echo $e->getMessage();
  13.     echo "<br/>Ocurrio un error";
  14.     exit;
  15. }
  16. ?>
  17. <h3><?php echo $post_title; ?></h3>
  18. <p><?php echo $post_content; ?></p>
  19.  
  20. <?php }else{ ?>
  21.  
  22. <h1>Listado de artículos </h1>
  23. <p><b>CON URL AMIGABLE </b></p>
  24. <a href="/articulo/hola-mundo">Hola Mundo</a><br/>
  25. <a href="/articulo/directorio-web">Directorio Web</a><br/>
  26.  
  27. <p><b>SIN URL AMIGABLE</b></p>
  28. <a href="/articulo?urlamigable=hola-mundo">Hola Mundo</a><br/>
  29. <a href="/articulo?urlamigable=directorio-web">Directorio Web</a><br/>
  30.  
  31. <?php } ?>

index.php
Código PHP:
Ver original
  1. /* Si existe la variable articulo y la urlamigable*/
  2. if ((($_GET['pagina']=='articulo')) && (!empty($_GET['urlamigable']))){
  3.     $tit_amigable_articulo=$_GET['urlamigable'];
  4. }


Y he aplicado esta regla sin embargo no funciona
RewriteRule ^articulo/(.+)?$ index.php?pagina=articulo&urlamigable=$1 [NC,L]

fichero completo .htaccess
Código Apache:
Ver original
  1. RewriteEngine on
  2. RewriteBase /
  3.  
  4. # WWW al dominio
  5.     RewriteCond %{HTTP_HOST} !^www\.webme\-modular\.com$
  6.     RewriteRule (.*) http://www.webme-modular.com/$1 [R=301,L]
  7.  
  8. # Mostrar la pagina de inicio
  9.     RewriteCond %{QUERY_STRING} ^$
  10.     RewriteRule ^$ index.php?pagina=home [L]
  11.  
  12. # Cargar paginas de primer nivel
  13.     RewriteCond %{SCRIPT_FILENAME} !-f
  14.     RewriteCond %{SCRIPT_FILENAME} !-d
  15.     RewriteRule (.*) index.php?pagina=$1 [QSA,L]
  16.     RewriteRule ^articulo/(.+)?$ index.php?pagina=articulo&urlamigable=$1 [NC,L]

Podéis verla desde aquí
http://www.webmodular.neodani.com/articulo

Las url amigables de los artículos no funcionan, mientras que las otras sí :S

¿Sabéis a qué es debido, regla .htaccess?

Muchas gracias de antemano!