Expression URL rewriting
25 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- Cflorian91
- Nouveau WRInaute

- Messages: 31
- Inscription: 15 Avr 2006
Expression URL rewriting
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:
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

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

- Messages: 3049
- Inscription: 3 Mai 2004
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.
Pour des caractères qui peuvent être, à la fois, des minuscules, des tirets et des soulignés, prends : [a-z_-]
Jean-Luc
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.
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: 15 Avr 2006
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 ?
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

- Messages: 3049
- Inscription: 3 Mai 2004
- 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: 15 Avr 2006
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
Par contre, quelle est l'expression pour exprimer tous les caracteres min et maj + les - ou les _ + les chiffres ??
Merci
- Cflorian91
- Nouveau WRInaute

- Messages: 31
- Inscription: 15 Avr 2006
ok donc si je fais cela:
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 ??
- 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

- Messages: 3049
- Inscription: 3 Mai 2004
Il y a avait des erreurs dans ma deuxième ligne. Essaie plutôt comme ceci:
Ceci suppose que "reference" est toujours une suite de minuscules et "choix" est toujours un nombre.
Jean-Luc
- 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
-

webmasterlamogere - WRInaute passionné

- Messages: 1874
- Inscription: 17 Déc 2006
tu peux remplacer [a-zA-Z_-0-9] par [\w-]
- Cflorian91
- Nouveau WRInaute

- Messages: 31
- Inscription: 15 Avr 2006
webmasterlamogere a écrit:tu peux remplacer [a-zA-Z_-0-9] par [\w-]
ok merci
- Cflorian91
- Nouveau WRInaute

- Messages: 31
- Inscription: 15 Avr 2006
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
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
25 messages
• Page 1 sur 2 • 1, 2
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 :
- expression reguliere d'un url
- probleme dans mon expression reguliere pour le rewriting
- apostrophe qui gène le rewriting dans expression régulière
- passer URL avec expression finale en 302
- Expression régulière pour raccourcir une url !
- expression url rewrite qui ne marche plus dans le htaccess
- Expression régulière pour adapter une balise URL
- PHP Expression régulière : rendre clickable toutes les url d'un texte
- URL Rewriting : règle de rewriting qui change selon la cat ?
- Gestion de la page par défaut, multingue, url Rewriting, url friendly
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- 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

