Url rewriting généralisé, votre avis ?

Nouveau WRInaute
Bonjour,

J'aimerais connaitre votre avis concernant une technique d'url rewriting généralisé, une régle s'appliquant aisement à toutes les pages.

Dans mon htaccess :
Code:
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [QSA,N] 
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [QSA,L] 
RewriteRule ^(.*).html $1.php [QSA,L]

On applique cette fonction à tous les liens du site :
Code:
function rewriting($url) { 
    if (eregi("(.*).php(.*)",$url,$regs)) { 
        $monurl = $regs[1]; 
        $geturl = $regs[2]; 
        while (eregi("(.*)(\?|&)([^=]+)=([^=]*)(.*)",$geturl,$regs)) { 
            $geturl = $regs[1]."-".$regs[3]."-".$regs[4].$regs[5]; 
        } 
        $url = $monurl.$geturl; 
    } elseif(eregi("(.*).php",$url,$regs)) { 
        $url = $regs[1]; 
    } 
    return $url.".html"; 
}

De cette manière on a plus besoin de réfléchir à une régle pour chaque type de page...

Pensez-vous que cette technique n'est pas trop gourmande en ressources ? Ou autres remarques ?

Merci pour vos conseils.
 
WRInaute impliqué
Tout dépend de ton serveur...
Mais s´il est partagé, et que ton traffic est important, ça risque d´être très lourd.
Ceci mis a part, C´est le moyen le plus efficace.
 
WRInaute passionné
tu peut optimiser ton script en utilisant ta fonction rewriting dans une fonction de callback de ob_end_flush(), comme ça tu devra pas repasser sur tous tes liens à la main, et ça ne changera rien le jours ou tu voudra abandonner l'url rewriting ou ajouter un lien à ta page ;)
 
Nouveau WRInaute
aladdin a dit:
tu peut optimiser ton script en utilisant ta fonction rewriting dans une fonction de callback de ob_end_flush(), comme ça tu devra pas repasser sur tous tes liens à la main, et ça ne changera rien le jours ou tu voudra abandonner l'url rewriting ou ajouter un lien à ta page ;)

Tu veux dire appliquer la fonction directement sur un bloc html ?
Aussi j'aimerais avoir plus d'avis quand aux ressources utilisées.
Merci à vous.
 
Discussions similaires
Haut