Expression URL rewriting

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

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Expression URL rewriting

Message le Mer Mai 28, 2008 21:44

Bonjour,

Je n'ai pas encore testé mes URL sur mon serveur, j'aurai voulu savoir si ce que j'avais fait était bon.

Je voudrais transformer mes URL de cette façon:

www.site.fr/index.php?page=toto&lang=fr => /fr/toto.html
www.site.fr/index.php?page=toto&ref=reference&lang=fr => /fr/toto-reference.html
www.site.fr/index.php?page=toto&choix=0&lang=fr => /fr/toto-0.html

J'ai donc fait cela:

Code: Tout sélectionner

RewriteRule ^([a-z]*)/([a-z]*)\.html$
/index.php?page=$1&lang=$2 [L]

RewriteRule ^([a-z]*)/([a-z]*)-([a-z]*)\.html$
/index.php?page=$1&ref=$2&lang=$3 [L]

RewriteRule ^([a-z]*)/([a-z]*)-([a-z]*)\.html$
/index.php?page=$1&choix=$2&lang=$3 [L]


Par contre dans mes variables, il peut y avoir des caractères comme - ou _ comment les rajouter dans mes expressions ??

Sinon pensez vous que ça fonctionne ?

Merci d'avance

:)
Dernière édition par Cflorian91 le Jeu Mai 29, 2008 7:16, édité 2 fois.


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2659
Inscription: Lun Mai 03, 2004 14:48

Message le Mer Mai 28, 2008 21:56

Bonjour,

Ton code ne correspond pas à ta demande: des articles.php d'un côté et des index.php de l'autre; des .html d'un côté seulement. Il faudrait que tu fasses un premier nettoyage. :wink:

Pour des caractères qui peuvent être, à la fois, des minuscules, des tirets et des soulignés, prends : [a-z_-]

Jean-Luc

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Jeu Mai 29, 2008 7:17

Oui, j'avais pas mis les bonnes expressions.
Voila j'ai mis à jour.

Je voudrai que ces pages ce transforment ainsi:

www.site.fr/index.php?page=toto&lang=fr => /fr/toto.html
www.site.fr/index.php?page=toto&ref=reference&lang=fr => /fr/toto-reference.html
www.site.fr/index.php?page=toto&choix=0&lang=fr => /fr/toto-0.html

Ce n'est pas possible ?


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2659
Inscription: Lun Mai 03, 2004 14:48

Message le Jeu Mai 29, 2008 8:24

Code: Tout sélectionner
RewriteRule ^([a-z]*)/([a-z_-]*)\.html$ /index.php?page=$2&lang=$1 [L]
RewriteRule ^([a-z]*)/([a-z]*)-([0-9]*)\.html$ /index.php?page=$3&ref=$1&lang=$2 [L]
RewriteRule ^([a-z]*)/([a-z_-]*)-([0-9]*)\.html$ /index.php?page=$2&choix=$3&lang=$1 [L]


Pour la ligne avec "/fr/toto-reference.html", il y a un problème insoluble, si un tiret peut être présent à la fois dans "toto" et dans "reference". Si tu as "/fr/abc-def-ghi.html", comment savoir si c'est
"toto" = "abc-def" et "reference" = "ghi"
ou
"toto" = "abc" et "reference" = "def-ghi"
?

Jean-Luc

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Jeu Mai 29, 2008 8:40

Normalement, dans reference il n'y a pas de - , les - sont seulement pour page.

Par contre, quelle est l'expression pour exprimer tous les caracteres min et maj + les - ou les _ + les chiffres ??


Merci


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2659
Inscription: Lun Mai 03, 2004 14:48

Message le Jeu Mai 29, 2008 8:44

[a-zA-Z_-] = minuscules + majuscules + tiret + souligné

Jean-Luc

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Jeu Mai 29, 2008 8:55

ok donc si je fais cela:

Code: Tout sélectionner

RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)\.html$ /index.php?page=$2&lang=$1 [L]
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)-([0-9]*)\.html$ /index.php?page=$3&ref=$1&lang=$2 [L]
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)-([0-9]*)\.html$ /index.php?page=$2&choix=$3&lang=$1 [L]



Dans le but d'obtenir respectivement:

www.site.fr/fr/accueil.html
www.site.fr/fr/accueil-reference.html
www.site.fr/fr/accueil-0.html

Est ce que c'est correct ??


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2659
Inscription: Lun Mai 03, 2004 14:48

Message le Jeu Mai 29, 2008 9:04

Il y a avait des erreurs dans ma deuxième ligne. Essaie plutôt comme ceci:
Code: Tout sélectionner
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)\.html$ /index.php?page=$2&lang=$1 [L]
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)-([a-z]*)\.html$ /index.php?page=$2&ref=$3&lang=$1 [L]
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*)-([0-9]*)\.html$ /index.php?page=$2&choix=$3&lang=$1 [L]


Ceci suppose que "reference" est toujours une suite de minuscules et "choix" est toujours un nombre.

Jean-Luc

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Jeu Mai 29, 2008 9:14

ok merci


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Jeu Mai 29, 2008 9:24

tu peux remplacer [a-zA-Z_-0-9] par [\w-]

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Jeu Mai 29, 2008 9:43

webmasterlamogere a écrit:tu peux remplacer [a-zA-Z_-0-9] par [\w-]


ok merci :wink:


e-kiwi
Modérateur
Modérateur
 
Messages: 13854
Inscription: Mar Déc 23, 2003 9:04

Message le Jeu Mai 29, 2008 9:44

et inverser les regles aussi, non ?

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Ven Mai 30, 2008 11:34

Alors, j'ai effectué des tests avec wampserver:

J'ai essayé :
RewriteRule ^test.html$ test.php [L]
et cela marchait

Par contre j'ai essayé:
RewriteRule ^([a-z]*)/([a-zA-Z_-0-9]*).html$ /index.php?page=$2&lang=$1 [L]

avec: fr/accueil.html
et j'obtiens une erreur 500

Savez vous d'où cela peut venir ?

Merci d'avance


jeanluc
WRInaute accro
WRInaute accro
 
Messages: 2659
Inscription: Lun Mai 03, 2004 14:48

Message le Ven Mai 30, 2008 11:56

Cflorian91 a écrit:Savez vous d'où cela peut venir ?
Un conflit avec d'autres règles présentes dans ton .htaccess ?

Jean-Luc

Cflorian91
Nouveau WRInaute
 
Messages: 31
Inscription: Sam Avr 15, 2006 15:30

Message le Ven Mai 30, 2008 12:11

Il n'y a que celle la de présente

Expression URL rewriting

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 :

  • Analyse 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.
  • Recherche de citations d'un site en texte brut
    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