URL Rewriting avec 1 ou 2 paramètres

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

cedb3
Nouveau WRInaute
 
Messages: 5
Inscription: Mar Juin 29, 2004 16:10

URL Rewriting avec 1 ou 2 paramètres

Message le Mar Juin 29, 2004 16:21

Sur mon site, en fonction des pages, j'ai un ou deux paramètres
par exemple
index.php?param1=toto
ou
index.php?param1=toto&param2=tata

Le but serait d'avoir en fonction des pages :
toto.html
ou
toto-tata.html

J'arrive à faire l'URL rewriting pour les pages avec un paramètre et celles avec 2 paramètres, mais pas pour les 2 types de pages en même temps.

J'ai essayé en faisant ce code mais ça ne marche pas :
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*).html$ /index.php?param1=$1 [L]
RewriteRule ^(.*)-(.*).html$ /index.php?param1=$1&param2=$2 [QSA,L]


Il ne prend que la première ligne mais pas la deuxième.


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Juin 29, 2004 16:26

C'est normal.

Si tu es dans le second cas, la première expression rationnelle va fonctionner et donc ce sera seulement cette règle qui sera appliquée (L comme last)

Essaies en inversant les deux tests pour déjà tester la regexp la "moins gourmande".
RewriteEngine on
RewriteRule ^(.*)-(.*).html$ /index.php?param1=$1&param2=$2 [QSA,L]
RewriteRule ^(.*).html$ /index.php?param1=$1 [L]


tom_pascal
WRInaute impliqué
WRInaute impliqué
 
Messages: 278
Inscription: Lun Nov 17, 2003 13:58

Message le Mar Juin 29, 2004 16:28

et si ca ne fonctionne toujours pas, il faut peut-être utiliser \- au lieu de - dans la règle de ré-écriture car - doit être un caractère spécial dans les regexp...

jeroen
WRInaute accro
WRInaute accro
 
Messages: 2384
Inscription: Ven Aoû 30, 2002 13:35

Message le Mar Juin 29, 2004 22:14

Je crois que le - est considéré comme un caractère spécial uniquement dans les classes [ ]. A confirmer.


lorantino
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 154
Inscription: Ven Juin 04, 2004 15:09

Message le Mar Juin 29, 2004 22:35

le top c est la reecriture d url recursive ...

Code: Tout sélectionner
RewriteRule index(-.+)-([^-]+)-([^-&]*)([^-]*)\.html index$1&$2=$3$4\.html [N]
RewriteRule index-([^-]+)-([^-]*)(.*)\.html index.php?$1=$2$3 [L]


ensuite tu peux passer autant de parametre que tu veux sur ton fichier index.php avec la syntaxe suivante ...

index-var1-valeur1-var2-valeur2-var3-valeur3......................html

il va de soi que tu remplace index par le fichier que tu veux, et aussi que le .htaccess est valable uniquement pour son repertoire ;)

++


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Alerts

  • Liste des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des textes non cliquables en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités