Première création RewriteRule - aide
3 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- zozot
- Nouveau WRInaute

- Messages: 2
- Inscription: 8 Juil 2007
Première création RewriteRule - aide
Bonjour à tous,
donc comme le titre l'indique, ce sont mes premiers pas dans le RewriteRule, j'ai lu différents tuto là -dessus.
Mon problème est le suivant:
Je souhaite arriver au résultat suivant grâce au rewritting :
article/titre-complexe-ou-non-3-4.html
l'url qui sera redirigée est la suivante :
index.php?page=3&etape=2&nocat=3&noart=4 [L]
ma question est : est-il possible de mettre un titre (titre-bla-bla-bla) sans qu'il soit "déclaré" dans la page en référence (exemple : index.php?titre=$titrecomplexe&page=3&etape=2&nocat=3&noart=4...) ou ma synthaxe est elle bonne ?
mon code est le suivant :
merci à vous.
donc comme le titre l'indique, ce sont mes premiers pas dans le RewriteRule, j'ai lu différents tuto là -dessus.
Mon problème est le suivant:
Je souhaite arriver au résultat suivant grâce au rewritting :
article/titre-complexe-ou-non-3-4.html
l'url qui sera redirigée est la suivante :
index.php?page=3&etape=2&nocat=3&noart=4 [L]
ma question est : est-il possible de mettre un titre (titre-bla-bla-bla) sans qu'il soit "déclaré" dans la page en référence (exemple : index.php?titre=$titrecomplexe&page=3&etape=2&nocat=3&noart=4...) ou ma synthaxe est elle bonne ?
mon code est le suivant :
- Code: Tout sélectionner
RewriteRule ^article/(-[a-z]*)-([0-9]+)-([0-9]+).\html$ index.php?page=3&etape=2&nocat=$1&noart=$2 [L]
merci à vous.
- NextGeneration
- WRInaute occasionnel

- Messages: 428
- Inscription: 27 Sep 2006
Trois remarques :
- Tout caractère spécial ( '/', '+', '.' ... ) doit etre échappé ( rajouter un '\' devant ).
- Pour permettre l'utilisation de tirets '-' dans ton titre, tu dois l'inclure dans ta règle : [a-z-] et non pas -[a-z].
- Les variables ( valeurs qui correspondent à chaque regle de bloc entre parenthèses ) sont nommées $1, $2, $n... de gauche à droite, peu importe en vérité si tu les utilises ou pas.
Deux exemples :
- Réécrire /5-8-un-titre-blabla.html en article.php?categorie=5&article=8 :
RewriteRule ^([0-9]+)-([0-9]+)-([a-z-]+)\.html$ article.php?categorie=$1&article=$2
Ici on utilise deux variables sur trois. ( $3 contient "un-titre-blabla", mais on ne l'utilise pas )
- Réécrire /un-titre-blabla,5128,1456.html en article.php?a=5128&b=1456 :
RewriteRule ^([a-z-]+),([0-9]+),([0-9]+)\.html article.php?a=$2&b=$3
Ici, $1 n'est pas utilisée.
A noter, les expressions régulières sont gloutonnes. Ce qui signifie qu'elles essayent de matcher sur la plus longue chaine possible, et c'est une galère fréquente & vicelarde en url rewriting. Illustration :
Chaine d'entrée : Toto-est-gentil-311-812
([a-zA-Z-]+) va matcher "Toto-est-gentil-" et non pas "Toto-est-gentil"...
Sinon pour les "multiplicateurs": + signifie "au moins un" et * signifie "0 ou plusieurs".
Bon courage
- Tout caractère spécial ( '/', '+', '.' ... ) doit etre échappé ( rajouter un '\' devant ).
- Pour permettre l'utilisation de tirets '-' dans ton titre, tu dois l'inclure dans ta règle : [a-z-] et non pas -[a-z].
- Les variables ( valeurs qui correspondent à chaque regle de bloc entre parenthèses ) sont nommées $1, $2, $n... de gauche à droite, peu importe en vérité si tu les utilises ou pas.
Deux exemples :
- Réécrire /5-8-un-titre-blabla.html en article.php?categorie=5&article=8 :
RewriteRule ^([0-9]+)-([0-9]+)-([a-z-]+)\.html$ article.php?categorie=$1&article=$2
Ici on utilise deux variables sur trois. ( $3 contient "un-titre-blabla", mais on ne l'utilise pas )
- Réécrire /un-titre-blabla,5128,1456.html en article.php?a=5128&b=1456 :
RewriteRule ^([a-z-]+),([0-9]+),([0-9]+)\.html article.php?a=$2&b=$3
Ici, $1 n'est pas utilisée.
A noter, les expressions régulières sont gloutonnes. Ce qui signifie qu'elles essayent de matcher sur la plus longue chaine possible, et c'est une galère fréquente & vicelarde en url rewriting. Illustration :
Chaine d'entrée : Toto-est-gentil-311-812
([a-zA-Z-]+) va matcher "Toto-est-gentil-" et non pas "Toto-est-gentil"...
Sinon pour les "multiplicateurs": + signifie "au moins un" et * signifie "0 ou plusieurs".
Bon courage
3 messages
• Page 1 sur 1
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 :
- RewriteRule : aide + question
- aide Rewriterule simple
- Aide sur Rewriterule ?
- Aide sur RewriteRule svp
- Aide sur rewriteRule et redirect
- [RESOLU]aide RewriteRule pour url du genre ?p=x vers node/y
- Et si on se la montrait ? (notre première création web !)
- Aide pour ma première campagne google
- Aide pour ma premiere facture en tant qu'autoentrepreneur.
- aide pour création Divx
- Comment éviter les contenus dupliqués (avec/sans le www) - 26-10-2005
- API Google Maps en Flash / Flex - 15-05-2008
- Optimiser son référencement sur Wikio - 10-04-2006
- Microsoft rachète Powerset, moteur de recherche sémantique - 02-07-2008
- Google rejoint le projet Open AJAX créé par IBM - 02-02-2006
- Deepfish - 29-03-2007
- Google Toolbar pour Firefox version 2 - 08-04-2006
- Les blogs (Search Engine Strategies 2004 - San José) - 06-08-2004
Consultez la description détaillée des produits ou services de Google suivants : Google Présentations, Google Picasa
- Déterminer l'âge d'un site
Cet outil vous permet de connaître une estimation de l'ancienneté d'un site : il fournit la date à laquelle Google l'a indexé la première fois (et la même chose pour archive.org).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
