Même pattern mais paramètre différent

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

grunk
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Nov 16, 2005 8:52

Même pattern mais paramètre différent

Message le Mar Nov 03, 2009 10:16

Bonjour à tous,

Est il possible avec un même pattern d'utiliser deux paramètres différents ?
Je m'explique :

Mon site se présente sous cette forme : http://monsite.com/index.php?mod=mon_module&act=monaction
J'ai donc écrit la règle suivante :
Code: Tout sélectionner
RewriteRule ^([A-Za-z0-9-_]*)/([A-Za-z0-9-_]*).html /index.php?mod=$1&act=$2 [L]

Qui me donne une url du type http://monsite.com/mon_module/mon_action.html

Sur certaine page j'ai besoin de passer un paramètre de type id , j'ai donc rajouté la règle :
Code: Tout sélectionner
RewriteRule ^([A-Za-z0-9-_]*)/([0-9]*)/([A-Za-z0-9-_]*).html /index.php?mod=$1&act=$3&id=$2

Qui me donne une url du type http://monsite.com/mon_module/10/mon_action.html

J'en arrive à ma question , comment puis je utiliser un paramètre autre que id (p en l'occurence) tout en gardant la structure d'url ?
J'ai penser à une solution de secours qui serait d'utiliser une règle du type
Code: Tout sélectionner
RewriteRule ^([A-Za-z0-9-_]*)/([A-Za-z0-9-_]*)/([A-Za-z0-9-_]*).html /index.php?mod=$1&act=$3&p=$2
que j'utiliserais comme ceci : http://monsite.com/mon_module/page-3/mon_action.html mais ca me convient moyennement car cela m'obligerai à retravailler le paramètre recu pour en extraire le chiffre.

Une idée ?

merci


forty
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Jeu Oct 30, 2008 9:15

Re: Même pattern mais paramètre différent

Message le Mar Nov 03, 2009 12:11

si tu veux qu'apache détermine un id à partir d'un autre paramètre : c'est pas possible. Ou alors il faut autant de RewriteRule que d'ID. Il n'y a pas moyen de déterminer une données qui n'est pas présente dans l'url si même d'accéder à une base de données.

grunk
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Nov 16, 2005 8:52

Re: Même pattern mais paramètre différent

Message le Mar Nov 03, 2009 12:33

Non en fait ce que je veux c'est utiliser un nom de paramètre différents dans mon url.
Que le shema reste le même (module/chiffre/action) mais que "chiffre" correspondent dans un cas à "id" et dans l'autre à "p"


forty
WRInaute impliqué
WRInaute impliqué
 
Messages: 482
Inscription: Jeu Oct 30, 2008 9:15

Re: Même pattern mais paramètre différent

Message le Mar Nov 03, 2009 14:10

ok

si tu as toujours /module/page-xx/action.html tu peux ajouter cette règle :
Code: Tout sélectionner
RewriteRule ^([A-Za-z0-9-_]*)/page-([0-9]*)/([A-Za-z0-9-_]*).html /index.php?mod=$1&act=$3&p=$2 [L]
RewriteRule ^([A-Za-z0-9-_]*)/([A-Za-z0-9-_]*).html /index.php?mod=$1&act=$2 [L]

si tu veux que le paramètre p contienne page-xx il faut déplacer "page-" dans la parenthèse.

grunk
Nouveau WRInaute
 
Messages: 9
Inscription: Mer Nov 16, 2005 8:52

Re: Même pattern mais paramètre différent

Message le Mar Nov 03, 2009 15:18

Merci je vais partir sur cette solution :)


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 :



Qui est en ligne

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