Rewriting et variable dans l'url ... incompréhension

T2k

Nouveau WRInaute
Bonjour

J'ai cherché un bon moment, tester une bonne 50aine de combinaisons, mais j'ai vraiment du mal avec les expressions ...

Mes url actuelle :
=> index.php?page=VAR1&format=VAR2&id=VAR3&cat=VAR4

je voudrais simplement réecrire mon url ainsi :
=> VAR1-VAR2-VAR3-VAR4

Ce que j'ai fais (en dernier mais essayé plein de combinaisons ....) :
=> RewriteRule ^([a-z]+)-([[:alnum:]]+)-([0-9]+)-([a-z]+)\.html$ /index.php?page=$1&format=$2&id=$3&cat=$4 [L]

Sachant que :
- var1 : lettre uniquement
- var2 : lettre ET chiffre
- var3 : chiffre uniquement
- var4 : lettre uniquement


Pour infos : le simple RewriteRule ^([a-z]+)\.html$ /index.php?page=$1 [L] fonctionne parfaitement (pour mes pages sans paramètres)

Merci pour votre aide, ca me rend fou cette histoire ! :cry:
 

Blount

WRInaute impliqué
Test sur les QUERY STRING => RewriteCond.

Code:
RewriteCond %{QUERY_STRING} ^page=(.*)&format=(.*)&id=(.*)&cat=(.*)
RewriteRule .* /%1-%2-%3-%4? [L]

Si tu veux une redirection complète, donc voir la nouvelle adresse dans la barre du navigateur, tu mets :
Code:
RewriteRule .* http://ton-domaine.tld/%1-%2-%3-%4? [L]

Le "?" sert à supprimer les paramètres lors de la redirection, si tu ne le fais pas, ça va faire une boucle infinie dans cette situation.
 

T2k

Nouveau WRInaute
okayyyyyy
je sais pourquoi ca bugait now, ma page avec paramètre contenait un underscore ... forcément si je passait uniquement des lettres, ca ne fonctionnait pas ... !

Merci bcp !
 

Discussions similaires

Haut