Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/10/2009, 13:54
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 5 meses
Puntos: 43
imprimir links amigables

Buenas,
tengo este .htaccess
Código:
Options +FollowSymlinks
RewriteEngine on
   
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?modules=$1 [QSA,L]
con el cual si yo pongo en mi navegador
misitio.com/noticias
me lleva a la pagina
misitio.com/index.php?modules=noticias

hasta ahi todo perfecto, pero mi problema (o mejor dicho mi capricho) es que los links html ya salgan "amigables", yo a los links ahora los tengo asi:
Código html:
Ver original
  1. <div id="sidebar">
  2.                     <ul class="sideNav">                           
  3.                         <li><a href="index.php?modules=menu" <? if ($_REQUEST['modules']=="menu"){?>class="active"<?}?>>Menú</a></li>
  4.                         <!--<li><a href="index.php?modules=submenu" <? //if ($_REQUEST['modules']=="submenu"){?>class="active"<? //}?>>SubMenú</a></li>-->
  5.                         <li><a href="index.php?modules=secciones" <? if ($_REQUEST['modules']=="secciones"){?>class="active"<?}?>>Secciones</a></li>
  6.                         <li><a href="index.php?modules=slider" <? if ($_REQUEST['modules']=="slider"){?>class="active"<?}?>>Slider</a></li>
  7.                         <li><a href="index.php?modules=articulos" <? if ($_REQUEST['modules']=="articulos"){?>class="active"<?}?>>Artículos</a></li>
  8.                         <li><a href="index.php?modules=noticias" <? if ($_REQUEST['modules']=="noticias"){?>class="active"<?}?>>Noticias</a></li>
  9.                         <li><a href="index.php?modules=boletin" <? if ($_REQUEST['modules']=="boletin"){?>class="active"<?}?>>Boletín</a></li>
  10.                         <li><a href="index.php?modules=cursos" <? if ($_REQUEST['modules']=="cursos"){?>class="active"<?}?>>Cursos</a></li>
  11.                         <li><a href="index.php?modules=links" <? if ($_REQUEST['modules']=="links"){?>class="active"<?}?>>Links</a></li>                                               
  12.                         <li><a href="index.php?modules=portfolio" <? if ($_REQUEST['modules']=="portfolio"){?>class="active"<?}?>>Portfolio</a></li>
  13.                         <li><a href="index.php?modules=staff" <? if ($_REQUEST['modules']=="staff"){?>class="active"<?}?>>Staff</a></li>
  14.                         <li><a href="index.php?modules=suscripciones" <? if ($_REQUEST['modules']=="suscripciones"){?>class="active"<?}?>>Suscripciones</a></li>                                           
  15.                     </ul>
  16.                     <!-- // .sideNav -->
  17.                 </div>

pero quiero que salgan asi:
Código html:
Ver original
  1. <div id="sidebar">
  2.                     <ul class="sideNav">                           
  3.                         <li><a href="menu" <? if ($_REQUEST['modules']=="menu"){?>class="active"<?}?>>Menú</a></li>
  4.                         <!--<li><a href="submenu" <? //if ($_REQUEST['modules']=="submenu"){?>class="active"<? //}?>>SubMenú</a></li>-->
  5.                         <li><a href="secciones" <? if ($_REQUEST['modules']=="secciones"){?>class="active"<?}?>>Secciones</a></li>
  6.                         <li><a href="slider" <? if ($_REQUEST['modules']=="slider"){?>class="active"<?}?>>Slider</a></li>
  7.                         <li><a href="articulos" <? if ($_REQUEST['modules']=="articulos"){?>class="active"<?}?>>Artículos</a></li>
  8.                         <li><a href="noticias" <? if ($_REQUEST['modules']=="noticias"){?>class="active"<?}?>>Noticias</a></li>
  9.                         <li><a href="boletin" <? if ($_REQUEST['modules']=="boletin"){?>class="active"<?}?>>Boletín</a></li>
  10.                         <li><a href="cursos" <? if ($_REQUEST['modules']=="cursos"){?>class="active"<?}?>>Cursos</a></li>
  11.                         <li><a href="links" <? if ($_REQUEST['modules']=="links"){?>class="active"<?}?>>Links</a></li>                                             
  12.                         <li><a href="portfolio" <? if ($_REQUEST['modules']=="portfolio"){?>class="active"<?}?>>Portfolio</a></li>
  13.                         <li><a href="staff" <? if ($_REQUEST['modules']=="staff"){?>class="active"<?}?>>Staff</a></li>
  14.                         <li><a href="suscripciones" <? if ($_REQUEST['modules']=="suscripciones"){?>class="active"<?}?>>Suscripciones</a></li>                                         
  15.                     </ul>
  16.                     <!-- // .sideNav -->
  17.                 </div>

ya se que esto lo puedo poner a mano (como lo hice recien) pero que pasa si tengo un sitio con 500 link es imposible poner todos a mano, por eso quiero armar una funcion que al pasarle la url en php despues la muestre "amigable" algo como:
Código php:
Ver original
  1. <li><a href="<? echo amigable(index.php?modules=staff);?>" <? if ($_REQUEST['modules']=="staff"){?>class="active"<?}?>>Staff</a></li>

y cuando entre a la pagina me muestre
mitiiso.com/staff


o si yo tengo asi:
Código html:
Ver original
  1. <a class="edit" href="index.php?modules=articulos&amp;opcion=editar&amp;id=<? echo $articulo['id_articulo'];?>" title="Editar Artículo">
  2.                                     Editar
  3.                                 </a>
y pongo asi:
Código html:
Ver original
  1. <a class="edit" href="<? echo amigable('index.php?modules=articulos&amp;opcion=editar&amp;id='.$articulo['id_articulo']');?>" title="Editar Artículo">
  2.                                     Editar
  3.                                 </a>
salga misitio.com/articulos/editar/12

la cuestion es que nose como encarar esta funcion, si alguien ya lo hizo o tiene algun ejemplo por ahi, se lo agradeceria mucho

salu2

Última edición por destor77; 05/10/2009 a las 14:02