Première création RewriteRule - aide
3 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
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 impliqué

- Messages: 425
- Inscription: Mer Sep 27, 2006 18:34
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 :
- Comment Google indexe et classe les documents
- Google lance Picasa en français
- Comment éviter les contenus dupliqués (avec/sans le www)
- Concours de création de Gadgets pour Live.com
- Google Page Creator
- Google Apps Edition Premium : une suite bureautique en ligne professionnelle
- MyMaps : des cartes personnalisées avec Google Maps
- Keyword Search Engine : le choix des bons mots-clés
- Nouvelle version pour Blogger
- J'ai de la chance !
- Aide sur Rewriterule ?
- Aide sur RewriteRule svp
- Aide sur rewriteRule et redirect
- Et si on se la montrait ? (notre première création web !)
- [RESOLU]aide RewriteRule pour url du genre ?p=x vers node/y
- Aide pour ma première campagne google
- aide pour création Divx
- Aide Pour Creation d'un site Dynamique
- Aide à la création d'1 Cron pour sup. de fichiers
- Aide pour la création d'entreprise - quel régime? -
- Aide à la création de micro-entreprise pour un étudiant
- Aide dans la création d'un forum IBF
- aide pour la creation d'un fichier robot.txt
- RewriteRule , # et %2F
- RewriteRule et R=301
Consultez la description détaillée des produits ou services de Google suivants : Google Présentations, Google Picasa
- Tester l'indexation récente d'un site dans Google
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 0 invités

le forum