Plusieurs regles qui rentrent en conflit...

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

zimounet
WRInaute accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

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 accro
WRInaute accro
 
Messages: 1944
Inscription: Mer Sep 21, 2005 16:02

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: 13818
Inscription: Mar Déc 23, 2003 9:04

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 accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

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 impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

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 impliqué
WRInaute impliqué
 
Messages: 273
Inscription: Ven Oct 21, 2005 13:33

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: 13818
Inscription: Mar Déc 23, 2003 9:04

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

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


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

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 accro
WRInaute accro
 
Messages: 1796
Inscription: Lun Nov 08, 2004 20:57

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

C'est reglé, merci @ tous!


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 0 invités