[ Resolu ] [ URL Rewriting ] Autoriser les "_"

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

[ Resolu ] [ URL Rewriting ] Autoriser les "_"

Message le Jeu Aoû 03, 2006 11:23

Bonjour,

Je créer un redirection htaccess pour un forum, ( oui oui, je lma créer tout seul ^^ ).

J'ai un petit problème...

Code: Tout sélectionner
RewriteRule ^profil-action-(_[a-z]*)-([0-9]*)\.ds$ /forum/profile.php?action=$1&id=$2 [L]


L'orsque par exmeple on met :

profil-action-mon_action-2.ds


Ca devrai afficher la page :

profile.php?action=mon_action&id=2


Mais ça ne marche pas... :(

Comment faire pour accepter les "_" ?
Dernière édition par samuel220093 le Jeu Aoû 03, 2006 14:18, édité 1 fois.

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Jeu Aoû 03, 2006 12:05

Normalement
Code: Tout sélectionner
-([a-z_]*)-

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 12:30

C'est ça !

Merci !

Heu juste une question au assart, pour par exemple accepter les lettres et les chiffres, c'est quoi ?

Code: Tout sélectionner
([a-z][0-9]*) ?


Et pour accepter les lettes, le signe "_", le point (.) et le "#" ?

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Jeu Aoû 03, 2006 12:37

Si je ne dis pas de bétise :
Code: Tout sélectionner
[a-z0-9_\.#]

Je suis pas sûre pour le '#'
Tu peux aussi ajouter A-Z pour les lettre majuscule.
Soit :
Code: Tout sélectionner
[a-zA-Z0-9_\.#]

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 12:38

Merci ! mais pourquoi les "\" avant le point ?

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Jeu Aoû 03, 2006 12:42

le point est un caratère spécial, qui correspond à "Tout les caractère" et tu utilise le '\' pour annuler sa spécialisation.

PS : Ton message ma coller un doute sur le fait de mettre le \ devant le point lorsqu'il est entre parentèse carré ??? Je crois que c'est juste, mais à verfier pour être sur.

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 12:45

LOL ba je vai essayer pour voir ;)


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1944
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Aoû 03, 2006 14:01

Pour simplifier, il existe les groupes :

Code: Tout sélectionner
[a-zA-Z0-9_\.#]


peut devenir

Code: Tout sélectionner
[[:alnum:]_\.#]


me semble-t-il non ?

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 14:05

Ha bon ???

Code: Tout sélectionner
a-zA-Z0-9


devient

Code: Tout sélectionner
[:alnum:]


C'est bien ça :)


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1944
Inscription: Mer Sep 21, 2005 16:02

Message le Jeu Aoû 03, 2006 14:17

Oui, cela signifie "tous les caractères alphanumériques".

=> http://phpcodeur.net/articles/php/regex1

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 14:18

C'est super !! ^^

ET bien merci !

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Jeu Aoû 03, 2006 17:00

Merci mr_go pour le lien. ;)

D'après ce lien, il n'y a pas de '\' devant le '.' lorsqu'il est entre parentèse carré. Idem pour les autres caractères spécieaux sauf 4 exception

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Jeu Aoû 03, 2006 17:40

Donc, c'est bon ! ;)


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1944
Inscription: Mer Sep 21, 2005 16:02

Message le Ven Aoû 04, 2006 7:18

D'après ce lien, il n'y a pas de '\' devant le '.' lorsqu'il est entre parentèse carré. Idem pour les autres caractères spécieaux sauf 4 exception


A moins que quelqu'un de bien calé infirme ce propos, je préconniserais, si cela fonctionne toutefois, de laisser le backslash dans l'expression. Ce tutoriel est accès sur les expressions régulières, mais pas sur les spécifités des expressions régulières Apache, d'ailleurs les exemples sont des exemples effecués PHP.

samuel220093
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 142
Inscription: Lun Aoû 29, 2005 10:18

Message le Ven Aoû 04, 2006 10:27

Boh, je laisse le "\" ^^ :)


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Liste des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des textes non cliquables en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités