Expressions régulières

  • Auteur de la discussion Auteur de la discussion Mookie
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

J'ai trouvé un code assez intéressant sur l'url rewriting.
Le problème c'est que je déteste les expressions régulières et que j'aimerai faire une petite modif.

http://www.webmaster-experience.net/art ... cle-2.html

Quelqu'un saurait-il m'expliquer comment ne pas afficher le nom de la variable passée en url?

Exemple:
Pour : index.php?page=liens&id=5
Avoir : liens_5.html
Au lieu de : index-page-liens-id-5.html

Merci d'avance à celui que pourra me consacrer un peu de son temps! :-)
 
Nouveau WRInaute
Oui ça j'y ai pensé aussi.
Mais le problème c'est que je ne comtpe pas me limiter à une variable.
Il me faudrait quelque chose de générique pour que ça fonctionne également avec index.php?page=liens&action=view&id=5 par exemple.
Je sais que je demande beaucoup mais on ne sait jamais, quelqu'un a peut-être déjà réalisé ce genre de code.
Merci pour ta réponse.
 
WRInaute discret
Bourriquet a dit:
Code:
RewriteRule ^(.+)_(.+).html$ index.php?page=$1&id=$2 [L]

A vérifier :)
Cela me parait tout à fait correct
pour étendre à plusieurs variables, il faut comprendre ce que fait ce code:
- les parenthèses capturent l'expression qui sera réutilisée dans la deuxième partie par dans l'ordre $1, $2, $3 ...
néanmoins si tu as plusieurs formats il te faudra une règle pour chaque.
avec 3 vars:
Code:
RewriteRule ^(.+)_(.+)_(.+).html$ index.php?page=$1&id=$2&action=$3 [L]
A toi d'implémenter les bonnes combinaisons... dans le bon ordre
 
Nouveau WRInaute
Merci pour les précisions, je vais regarder ça.
Je suppose qu'implémenter un système de boucles sur les variabes, ce n'est pas possible?
 
WRInaute discret
dorian53 a dit:
Salut,
J'dirais qu'il manque un slash \.html
C'est en effet plus correct et garantira que c'est bien un point "." que l'on veut avant les 4 lettres "html".
Mais pas indispensable, sauf cas particulier.
Par exemple la présence d'un dossier /titi_totohtml contenant un fichier index.html qui serait donc susceptible de ne pas figurer dans l'url du lien.
Ce qui nous donnerait: index.php?page=titi&id=tot
(pour ceux qui se diraient que j'ai oublié le "o" de toto: "." représente n'importe quel caractère, d'où l'importance du \ qui l'oblige à représenter un point 8) )
 
WRInaute occasionnel
Mookie a dit:
Merci pour les précisions, je vais regarder ça.
Je suppose qu'implémenter un système de boucles sur les variabes, ce n'est pas possible?

C'est possible mais souvent plus galère et plus gourmand en ressources que faire les 4 ou 5 lignes qui correspondent aux différents cas (cas à 4 variables, puis cas à 3, etc..)

Seul cas (à mon avis) ou il est utile de faire une sorte de boucle sur les variables, c'est si tu as plus de 9 variables, ce qui est très rare (mais pas inexistant)
 
Discussions similaires
Haut