URL rewriting avec plusieurs paramètres. ké galère ! )

Nouveau WRInaute
Salut à tous.
Dans mon htaccess, je cherche à transfomer des URL type CGI en url simples. Les 3 premières lignes fontionnent parfaitement. Mais la 4 ème, qui inclu 4 paramètres, ne fonctionne pas....Il y a une sorte de décalage entre les 2 paramètres de fin de ligne...
Bref, je suis chez OVH. Si quelqu'un veut bien me filer un coup de paluche !!!
@+

Code:
RewriteEngine on 
RewriteRule ^referencement-professionnel\.html$ /referencement/referencement-professionnel.cgi [L]
RewriteRule ^(.+)-(.+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2 [L]
RewriteRule ^(.+)-(.+)-(.+)-(.+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2&departement=$3&indexxx2=$4 [L]
 
WRInaute impliqué
Salut, essaye
Code:
RewriteEngine on
RewriteRule ^referencement-professionnel\.html$ /referencement/referencement-professionnel.cgi [L]
RewriteRule ^([^-]+)-([^-]+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2 [L]
RewriteRule ^([^-]+)-([^-]+)-([^-]+)-([^-]+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2&departement=$3&indexxx2=$4 [L]

( (.+) inclu le caractère - donc les urls correspondant à ta dernière règle corespondaient déjà à l'avant dernière ;))
 
Nouveau WRInaute
presque, presque !

Merci pour le tuyau de poele !
J'y suis presque, encore une question :
le problème est que les variables 1 et 3 sont des expression passées à la moulinette pour supprimer les accents et remplacer les espaces par, justement, des tirets, et que les variables 2 et 4 sont des codes..... Je faits comment, arrrrgh !!! ;)
 
WRInaute impliqué
Essaye
Code:
RewriteRule ^(.+)-([0-9]+)-(.+)-([0-9]+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2&departement=$3&indexxx2=$4 [L]

sinon remplace les - par des + :)
 
Nouveau WRInaute
La galute totale !

Merci encore... mais on y est toujours pas arrivé.
Il confond toujours les paramètres 1 et 3 et 2 et 4....
 
Nouveau WRInaute
Ca y est !

Bon je tenais à conserver des urls incluant des tirets plutôt que des plus.... alors, et grace à votre aide, j'ai testé, vaincu, et monté en trophée le code suivant :
Code:
RewriteEngine on 
RewriteRule ^referencement-professionnel\.html$ /referencement/referencement-professionnel.cgi [L] 
RewriteRule ^([a-zA-Z\-]+)-([0-9]+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2 [L] 
RewriteRule ^([a-zA-Z\-]+)-([0-9]+)-([a-zA-Z\-]+)-([0-9]+)\.html$ /referencement/referencement-professionnel.cgi?expression=$1&indexxx=$2&departement=$3&indexxx2=$4 [L]

Bonne route !
 
WRInaute impliqué
Bien joué, effectivment s'il n'y a pas de caractères numériques dans tes 1 et 3 c'est parfait ;)
 
Nouveau WRInaute
Merci, merci ! ;)

Sinon, j'aurais quand même préféré un code dans le HTACCESS me permettant à la volé de remplacer les accents par des lettres standards.... Meuh, bon, on va pas non plus déplacer des montagnes ce soir !!! ;)
 
Discussions similaires
Haut