expressions régulières dans htaccess

Répondre
doudi
le 05/02/2010 à 09:23
doudi
Salut,

Oui encore moi ! :-/

Je suis en train de me prendre la tête pour un truc tout bête (erreur de syntaxe dans les expressions régulières).

D'habitude j'utilise un id dans mes liens html et le rewriting mais cette fois ci je vais changer !

J'ai une table avec différentes saisons de foot :

id_saison 1 = 2009-2010
id_saison 2 = 2010-2011
id_saison 3 = 2011-2012

etc...

Au lieu de rewriter les liens avec l'id de la saison j'aimerais rewriter avec "2009-2010" mais en faisant ça je dois faire attention de bien boucler ça avec une expression régulière.

Pour rewriter avec l'id de la saison pas de soucis ça fonctionne ! par contre pour rewriter avec le nom de la saison c'est plus coton !

Dans mon fichier htaccess j'ai ça :

RewriteRule ^([0-9]){4}-([0-9]){4}/effectif\.html$ effectif.php?saison=$1 [L]

La page rewritée s'affiche sauf qu'il ne m'affiche pas le résultat de ma requête (et quand je test la page sans le rewriting ma requête fonctionne). Le problème vient donc de me rewriting dans le fichier htaccess.

J'aimerais obtenir le résultat suivant :

2009-2010/effectif.html
LupusMic
le 07/02/2010 à 22:02
LupusMic
Les parenthèses dans les regexp servent à capturer des séquences. Une paire de parenthèse équivaut à une séquence. Hors, dans ta seconde expression, il y a deux paires, donc $1 contient le premier nombre, $2 le second.

La première solution est donc d'écrire la règle suivante :
RewriteRule ^([0-9]){4}-([0-9]){4}/effectif\.html$ effectif.php?saison=$1-$2 [L]


Mais ce serait plus intelligent d'écrire ça :
RewriteRule ^(\d{4}-\d{4})/effectif\.html$ effectif.php?saison=$1 [L]
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
doudi
le 09/02/2010 à 23:34
doudi
Merci pour ton aide ça fonctionne !

J'irai jeter un oeil demain pour voir ce que veut dire /d dans ta seconde ligne :)
LupusMic
le 12/02/2010 à 16:45
LupusMic
Attention : \d pas /d (ça change tout)
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours