Première création RewriteRule - aide

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

zozot
Nouveau WRInaute
 
Messages: 2
Inscription: Dim Juil 08, 2007 11:59

Première création RewriteRule - aide

Message le Dim Juil 08, 2007 12:04

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 :
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é
WRInaute impliqué
 
Messages: 425
Inscription: Mer Sep 27, 2006 18:34

Message le Dim Juil 08, 2007 14:05

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

zozot
Nouveau WRInaute
 
Messages: 2
Inscription: Dim Juil 08, 2007 11:59

Message le Dim Juil 08, 2007 18:11

merci beaucoup à toi pour ta réponse constructive et claire !


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 :

Consultez la description détaillée des produits ou services de Google suivants : Google Présentations, Google Picasa



Qui est en ligne

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