Votre question

Url rewriting qui me les brise

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
5 Septembre 2010 18:33:09

Hello,

Je cherche à écrire cette règle :

- Accepte tous les caractère alphabetique min/maj lettre (donc a-z A-Z)
- Accepte tous les chiffres numerique (donc 0-9)
- Pour ces 2 conditions de dessus, il faut aussi que la chaine fasse entre 5 et 25 caractères
- N'accepte aucun autre caractère ni symbol

Voici ce que j'ai fait :

RewriteRule ([:alnum:]+)$ /page.php?id=$1 [L]

alnum permet d'accepter lettre et chiffre alphanumerique, mais si je rajoute {5,25} au début, a la fin, au milieu, et ce, malgrès les tuto que j'ai lu et relu, soit j'ai une erreur 500, soit il m'affiche page.php alors qu'il ne devrait pas car la condition n'est pas exact. C'est à dire que je mette 2, 5, 30 caractère, ce n'est pas pris en compte

Meme chose avec les caractère étranger, si je rajoute ?:%*$ ou autre, cela me fait la meme chose.

Merci

Autres pages sur : url rewriting brise

6 Septembre 2010 00:35:16

Bonjour bonjour :) 

Question bête : tu as essayé [[:alnum:]] à la place de [:alnum:] ?

  1. RewriteRule ([[:alnum:]]{5,25})$ /page.php?id=$1 [L]
m
0
l
a c 145 L Programmation
6 Septembre 2010 09:17:14

Tout à fait d'accord avec akred3.
Et même je dirais d'ajouter un ^ au début de l'expression :
  1. RewriteRule ^([[:alnum:]]{5,25})$ /page.php?id=$1 [L]
m
0
l
Contenus similaires
6 Septembre 2010 09:43:04

ah, j'essai, je vous tiens au jus, merci ;) 

edit: je vous déteste, ca marche :'( 

merci les gars!
m
0
l
6 Septembre 2010 10:05:42

Bon, presque, si je met ! ca me ressort bien une erreur, mais si je met un "?" il accepte la règle, j'ai alors fait ceci en reprenant votre solution fonctionelle :

RewriteRule ^([a-zA-Z0-9]{5,25})$ /url.php?id=$1 [L]

D'apres les tuto, cette règle sgnifie :

si la chaine commence par une lettre de A a Z min ou maj ou par un chiffre et fait une longueur de 5 25, on accepte et on refuse tout le reste, mwai ... et mon ? alors ? Pourquoi il me refuse pas la règle ?

la , ! . - sont bien rejeté, seul le ? persiste. merci
m
0
l
a c 145 L Programmation
6 Septembre 2010 10:30:22

C'est tout simplement parce que ton "?" est interprété comme le séparateur url / arguments.
Du coup, l'expression régulière prend tout ce qui se trouve avant le "?" et si cette chaine fait entre 5 et 25 caractères, c'est bon.
m
0
l
6 Septembre 2010 10:35:41

D'accord, merci.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS