Plusieurs regles qui rentrent en conflit...

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

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Plusieurs regles qui rentrent en conflit...

Message le Lun Fév 20, 2006 5:15

Hello all!

Alors voila, j'ai plusieurs regles sur une page, la derniere, forcément rentre en conflit avec les deux premiere, je pense que vous comprendrez en voyant le code:

Code: Tout sélectionner
##STYLE
RewriteRule ^mp3/(.*)-([0-9]*)\.html$ /mp3/index.php?st=$2&nom=$1 [L]

##STYLE ET SOUS STYLE
RewriteRule ^mp3/([^-]+)-(.*)_([0-9]*)_([0-9]*)\.html$ /mp3/index.php?st=$3&ss=$4&nom=$1&ssnom=$2 [L]

#FICHE ALBUM
RewriteRule ^mp3/([0-9]*)-(.*)_([0-9]*)-([0-9]*)\.html$ /mp3/index.php?nomalbum=$2&st=$1&ss=$3al=$4 [L]


La variable nom contient des lettres et des tirets
La variable ssnom contient des lettres et des virgules
La variable nomalbum contient des lettres et des virgules aussi.

Comment faire? Déjà j'ai du bidouiller pour que ça fonctionne en mettant des tirets et des underscore pour séparer mes variables rewriter... :(


mr_go
WRInaute passionné
WRInaute passionné
 
Messages: 1945
Inscription: 21 Sep 2005

Message le Lun Fév 20, 2006 8:10

Code: Tout sélectionner
RewriteRule ^mp3/([0-9]*)-(.*)_([0-9]*)-([0-9]*)\.html$ /mp3/index.php?nomalbum=$2&st=$1&ss=$3al=$4 [L]


Remplacer (.*) par ([:alnum:]|,)* peut être...?


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Fév 20, 2006 9:16

la régle la plus spécifique avant l'autre, et il n'y aura jamais de conflit, tout simplement :) je dirai que la 1 s'execute avant ta 3, pas la 2

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Lun Fév 20, 2006 10:16

message supprimé
Dernière édition par zimounet le Jeu Avr 06, 2006 4:28, édité 1 fois.

magic corp.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Lun Fév 20, 2006 10:33

Je pense que e-kiwi pensait plutôt à se genre de permutation.
Code: Tout sélectionner
##FICHE ALBUM
RewriteRule ^mp3/([0-9]*)-(.*)_([0-9]*)-([0-9]*)\.html$ /mp3/index.php?nomalbum=$2&st=$1&ss=$3al=$4 [L]

##STYLE ET SOUS STYLE
RewriteRule ^mp3/([^-]+)-(.*)_([0-9]*)_([0-9]*)\.html$ /mp3/index.php?st=$3&ss=$4&nom=$1&ssnom=$2 [L]

##STYLE
RewriteRule ^mp3/(.*)-([0-9]*)\.html$ /mp3/index.php?st=$2&nom=$1 [L]


-Magic-

ChezThierry
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 273
Inscription: 21 Oct 2005

Message le Lun Fév 20, 2006 10:36

Tu dis que ta variable nom contient des tirets, mais dans la règle suivante, tu n'auras jamais les tirets :
Code: Tout sélectionner
##STYLE ET SOUS STYLE
RewriteRule ^mp3/([^-]+)-(.*)_([0-9]*)_([0-9]*)\.html$ /mp3/index.php?st=$3&ss=$4&nom=$1&ssnom=$2 [L]


Je pense que tu peux t'en sortir ainsi :
Code: Tout sélectionner
#FICHE ALBUM
RewriteRule ^mp3/([0-9]+)-(.+)_([0-9]+)-([0-9]+)\.html$ /mp3/index.php?nomalbum=$2&st=$1&ss=$3al=$4 [L]

##STYLE ET SOUS STYLE
RewriteRule ^mp3/(.+)-([^-]+)_([0-9]+)_([0-9]+)\.html$ /mp3/index.php?st=$3&ss=$4&nom=$1&ssnom=$2 [L]

##STYLE
RewriteRule ^mp3/(.+)-([0-9]+)\.html$ /mp3/index.php?st=$2&nom=$1 [L]


J'ai interverti dans la 2eme règle le [^-] car c'est ton ssnom qui n'a pas de tirets, pas le nom.

J'ai remplacé aussi les * par des +, car tu as toujours au moins un caractères, tu ne veux pas matcher du vide si je comprends bien.


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Message le Lun Fév 20, 2006 10:43

oui je voulais dire celle là en dernier : RewriteRule ^mp3/(.*)-([0-9]*)\.html$


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Re: Plusieurs regles qui rentrent en conflit...

Message le Lun Fév 20, 2006 15:57

Code: Tout sélectionner
##STYLE
RewriteRule ^mp3/([\-a-z]+)-([0-9]*)\.html$ /mp3/index.php?st=$2&nom=$1 [L]

##STYLE ET SOUS STYLE
RewriteRule ^mp3/([\-a-z]+)-([,a-z]+)_([0-9]*)_([0-9]*)\.html$ /mp3/index.php?st=$3&ss=$4&nom=$1&ssnom=$2 [L]

#FICHE ALBUM
RewriteRule ^mp3/([0-9]*)-([,a-z])_([0-9]*)-([0-9]*)\.html$ /mp3/index.php?nomalbum=$2&st=$1&ss=$3al=$4 [L]


Et comme ça?

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Mar Fév 21, 2006 8:52

C'est reglé, merci @ tous!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité