Version complète: sur le forum Webmaster Hub : bug dans une redirection htaccess
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
ebouilleur
Bonjour,

Je rencontre un petit soucis et je n'arrive pas a trouvé la solution.
Dans mon .htaccess j'ai le code suivant :

RewriteRule ^([0-9a-z]+)[/]?$ /index.php?ref=$1 [L,NC]

Qui est fait donc une redirection du type
http://www.mondomaine.com/yves vers http://www.mondomaine.com/index.php?ref=yves

Ca marche bien, sauf pour les prénom composé, genre

http://www.mondomaine.com/jean-yves

La ca marche pas, et idem pour http://www.mondomaine.com/jean_yves

J'ai essayer #RewriteRule ^(.*)$ /index.php?ref=$1 [L,NC] Mais c'est pas mieux....
Une idée de comment faire?

Merci
Ebouilleur
Dan
Il te suffit d'ajouter le caractère '-' dans ta règle.
Remplace [0-9a-z] par [-0-9a-z] (le - est devant pour qu'il soit pris littéralement)

Dan
ebouilleur
Au faut le mettre devant, ok, car derrière ca ne marche pas...

Et pour le _ ?

Car si je ne rajoute devant comme pour le -, ca me sort une erreur 500

RewriteRule ^([_-0-9a-z]+)[/]?$ /index.php?ref=$1 [L,NC]

Ca ne marche pas?
ebouilleur
Dan une idée stp ?
Jeanluc
Essaie ceci:
CODE
RewriteRule ^([-_0-9a-z]+)[/]?$ /index.php?ref=$1 [L,NC]

ou ceci:
CODE
RewriteRule ^([-\w]+)[/]?$ /index.php?ref=$1 [L,NC]

Jean-Luc
Dan
CITATION(ebouilleur à 03:14)
Dan une idée stp ?

A 3H du matin, je dors et ne suis pas sur le Hub smile.gif

Il n'y a que le '-' qu'il faut mettre devant, parce qu'il sert à définir des "ranges" : a-z signifie de a à z ...
Le '_' n'a pas de signification particulière ... tu peux le mettre où tu veux.

Un autre caractère à mettre devant est le ^ qui inverse le choix.
Jeanluc
CITATION(Dan @ samedi 27 octobre 2007 à 09:50) *
CITATION(ebouilleur @ samedi 27 octobre 2007 à 03:14)
Dan une idée stp ?

A 3H du matin, je dors et ne suis pas sur le Hub smile.gif

C'était pour savoir à quelle heure tu te levais le samedi matin... wink.gif

Jean-Luc
ebouilleur
CITATION(Dan @ samedi 27 octobre 2007 à 09:50) *
A 3H du matin, je dors et ne suis pas sur le Hub smile.gif

Il n'y a que le '-' qu'il faut mettre devant, parce qu'il sert à définir des "ranges" : a-z signifie de a à z ...
Le '_' n'a pas de signification particulière ... tu peux le mettre où tu veux.

Un autre caractère à mettre devant est le ^ qui inverse le choix.


Je me disais que j'étais peu etre pas le seul fou a encore travailler happy.gif
Non c etait pour que tu me réponde quand tu pouvais ce weekend wink.gif

C'est bon ca marche impec en tout cas.
Merci a vous 2 !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.