Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour !

Je debute en ce qui concerne l'URL Rewriting.

J'ai pu trouvé grace à internet un code qui me convient :

 RewriteEngine on
RewriteRule (.*)(-.+)-([^-]+)-([^-&]*)([^-]*)\.html $1$2&$3=$4$5\.html [N]
RewriteRule (.*)-([^-]+)-([^-]*)(.*)\.html $1.php?$2=$3$4 [L]
RewriteRule ^(.*).html $1.php [L]

J'ai également trouver sur le même site une fonction permettant de génèrer automatiquement le lien HTML à partir de l'adresse PHP:

 function urlRewriting($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";
 }

Mon problème est que cette solution créer des URL du type :

nompage-var1-val1-var2-val2.html

Je souhaiterai avoir uniquement des liens du type:

val1-val2.html

Pourriez-vous me secourir ? Mes recherches ne m'aident pas :(

(http://www.webmaster-hub.com/index.php?showtopic=18526)

D'avance merci, bonne fin de journée. ;)

Modifié par TheBAT
Posté

Ben c'est impossible :lol:

Si tu as une adresse du type :

maison.php?region=idf&taille=150&couleur=jaune&jardin=non

tu ne peux pas la transformer en

maison-idf-jaune.html

car si tu as une autre maison :

maison.php?region=idf&taille=50&couleur=jaune&jardin=oui

en théorie ça donnera la même adresse alors que les deux maisons sont différentes !

Si ton URL a des paramètres, c'est pas pour faire joli... c'est qu'ils servent à distinguer plusieurs éléments :)

Loupilo.

Posté

Ben non tu peux réécrire ton adresse en maison-idf-150-jaune-non mais tu ne peux évidemment pas faire sauter de paramètre ;)

Posté

Si tu ne veux réécrire tes URLs qu'avec les valeurs des variables sans les noms de celles-ci, il faut que ton programme accepte toujours le même nombre de variables et toujours dans le même ordre.

Donc c'est peu pratique...

Pour comprendre le mécanisme de la réécriture récursive comme tu souhaites le faire, tu as un article sur le Hub: http://www.webmaster-hub.com/publication/article15.html

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...