
cedriclomb
|
function urlrewrite($ob) { //test si on doit réécrire if(defined('_REWRITE_URLS_')) { preg_match_all('`<a href=["|\']index.php\?([^"|\']+)["|\']([^>]*)>([^<]*)</a>`Usi',$ob,$liens, PREG_SET_ORDER); $l=''; $a=array ('à','à','â','â'); $e=array ('é','ê','è','ë','é','egrave;','ê','ë'); foreach ($liens as $url) { //liste des query url dans $url[1] $l.= $url[1]; $l.='<br>'; //test des urls //si c'est un article if (strstr($url[1],'itemID=')) { //on decoupe selon la forme lang_article_sectionID_itemID //separation de la langue $lang=explode('lang=',$url[1]); //separation de la section $sect=explode('sectionID',$lang[0]); $sect[1]=str_replace('=','',$sect[1]); $sect[1]=str_replace('&','',$sect[1]); $sect[1]=str_replace('&','',$sect[1]); //separation du numero de l'item $item=explode('itemID',$sect[1]); if($lang[1]=='') { $lang[1]=lang; } //netoiyage des accents pour le titre $url[3]=str_replace($e,'e',$url[3]); $url[3]=str_replace($a,'e',$url[3]); $ob=str_replace('index.php?'.$url[1],$lang[1].'_article_'.$item[0].'_'.$item[1].'_'.$url[3].'.html',$ob); } else if (strstr($url[1],'sectionID=')) { //on decoupe selon la forme lang_article_sectionID_itemID //separation de la langue $lang=explode('lang=',$url[1]); //separation de la section $sect=explode('sectionID',$lang[0]); $sect[1]=str_replace('=','',$sect[1]); $sect[1]=str_replace('&','',$sect[1]); $sect[1]=str_replace('&','',$sect[1]); //separation du numero de l'item $item=explode('itemID',$sect[1]); if($lang[1]=='') { $lang[1]=lang; } $url[3]=str_replace($e,'e',$url[3]); $url[3]=str_replace($a,'e',$url[3]); $ob=str_replace('index.php?'.$url[1],$lang[1].'_section_'.$item[0].'_'.$url[3].'.html',$ob); } else { //on decoupe selon le schéma index_var1_val1_var2_val2 //on coupe donc la chaine au & pour separer les variables $aff=''; $query=explode('&',$url[1]); foreach($query as $q) { $rep=explode('=',$q); $aff.='-'; $aff.=$rep[0].'-'.$rep[1]; } $aff=str_replace('=','',$aff); $aff=str_replace('amp;','',$aff); $ob=str_replace('index.php?'.$url[1],'index'.$aff.'.html',$ob); } } } return $ob; } ob_start('urlrewrite'); COntenu ob_get_flush() et dans le htaccess _______________________________
Options +FollowSymlinks RewriteEngine on
#Gestion dynamique des URL de maniere recrusive pour des vars en minuscule RewriteRule index(-.+)-([^-]*)-([^-]*)([^-]*)\.html index$1&$2=$3$4\.html [N] RewriteRule index-([^-]+)-([^-]*)(.*)\.html http://localhost/tut/index.php?$1=$2$3 [L]
#Page index classique ou avec la langue RewriteRule index.html http://localhost/tut/index.php [L] RewriteRule (.*)_index.html http://localhost/tut/index.php?lang=$1 [L]
#Sections et articles RewriteRule (.*)_section_(.*)_(.*)\.html http://localhost/tut/index.php?sectionID=$2&lang=$1 [L] RewriteRule (.*)_article_(.*)_(.*)_(.*)\.html http://localhost/tut/index.php?sectionID=$2&itemID=$3&lang=$1 [L]
#Gestion dynamique des URL de maniere recrusive pour des vars en minuscule ALBUMS RewriteRule gallery-(.*)-([^-]*)([^-]*)\.html http://localhost/tut/gallery-$1/$2$3\.html [N] RewriteRule gallery-([^-]+)/([^-]*)(.*)\.html http://localhost/tut/index.php?composant=gallery&album=$1/$2$3 [L]
____________________________________ Mais le liens marchent le truc c'est que l'url ne reste pas en haut dans la barre d'adresse
|