Comment passer la limitation a 9 paramètres en url rewriting

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Comment passer la limitation a 9 paramètres en url rewriting

Message le Lun Oct 08, 2007 14:46

Bonjour,

J'ai entendu parler de mettre nos différents pramètres dans un array afin de outre passer cette limitation, auriez vous un exemple de comment le contourner ?

Merci d'avance..

adilo
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 1
Inscription: 6 Oct 2005

Message le Lun Oct 08, 2007 16:02

Bonjour,
Pour passer un array dans l URL utilise la forme suivante :
http://www.site.com/index.php?id=1&user[nom]=nom&user[prenom]=prenom
Mais je ne sais si ça permet de passer la limitation.

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Lun Oct 08, 2007 16:44

Tu peux passer une seule variable contenant plusieurs valeurs séparées par un ... séparateur.
ex. : var1_var2_var3 etc...
Et ensuite tu scindes la chaîne pour récupérer chaque variable.

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Message le Lun Oct 08, 2007 17:12

Je n'arrive pas a conceptualiser le procédé à appliquer..

Voici mes regles actuelles :
Code: Tout sélectionner
RewriteEngine on

# nom_departement-34.html
RewriteRule ^([[:alpha:]-]+)-([[:alnum:]]+)\.html$  villes_du_dep.php?dep=$2 [L]

# nom_departement-34-M.html
RewriteRule ^([[:alpha:]-]+)-([[:alnum:]]+)-([[:alpha:]]+)\.html$  villes_du_dep.php?dep=$2&lettre=$3&ndep=$1

# nom_departement-34-nom_ville-13622.html
RewriteRule ^([[:alpha:]-]+)-([[:alnum:]]+)-([[:alpha:]-]+)-([[:digit:]]+)\.html$ categories_metiers.php?dep=$2&idv=$4

# nom_departement-34-nom_ville-13622-nom_categorie-18.html
RewriteRule ^([[:alpha:]-]+)-([[:alnum:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)\.html$  metiers_categories.php?dep=$2&idv=$4&idc=$6

# nom_departement-34-nom_ville-13622-nom_categorie-18-nom_metier-1.html
RewriteRule ^([[:alpha:]-]+)-([[:alnum:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)\.html$ liste_des_clients.php?dep=$2&idv=$4&idc=$6&idm=$8

# 34-nom_ville-13622-nom_categorie-31-nom_metier-82-nom_client-86.html
RewriteRule ^([[:alnum:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alnum:]-]+)-([[:digit:]]+)\.html$ fiche_du_client.php?dep=$1&idv=$3&idc=$5&idm=$7&idcl=$9




Techniquement, j'aimerai rajouter un dernier champ "page = 1,2,3,4,5.." a mon client, mais ca me fait le 10 eme parametre..

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Message le Mar Oct 09, 2007 9:13

Je cherche pas à ce que l'on me mache le travail, loin de là, je préfère apprendre à le faire pour être autonome..

Mais j'ai pas forcément compris le concept à appliquer :/

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Message le Mer Oct 10, 2007 0:16

Encore moi :)

Sur un sujet parlant du même soucis, un memebre a répondu :

J'opterait pour une suite de division successive du nombre de paramètres que tu veux envoyer.

Ainsi si tu as 13 params tu le décompose en 9+4 ainsi tu sais que dans ta première occurence de la fonction tu as 9 params et 4 dans la 2eme occurence.


Malheureusement, le sujet date un peu et le membre peu actif, je ne peux pas lui demandé directement..

Voyai vous le concept ?


Merci beaucoup de votre aide précieuse.

Tilt
WRInaute impliqué
WRInaute impliqué
 
Messages: 858
Inscription: 26 Mar 2005

Message le Jeu Oct 11, 2007 14:26

Dans ton cas il y a une solution BEAUCOUP plus simple, qui t'évite de dépasser la limite des 9 :

Modifier les parenthèses capturantes !

Code: Tout sélectionner
# 34-nom_ville-13622-nom_categorie-31-nom_metier-82-nom_client-86.html
RewriteRule ^([[:alnum:]]+)-[[:alpha:]-]+-([[:digit:]]+)-[[:alpha:]-]+-([[:digit:]]+)-[[:alpha:]-]+-([[:digit:]]+)-[[:alnum:]-]+-([[:digit:]]+)-[[:alnum:]-]+-([[:digit:]]+)\.html$ fiche_du_client.php?dep=$1&idv=$2&idc=$3&idm=$4&idcl=$5&page=$6

******
Maintenant la solution au problème de la limitation à 9 paramètres

Ton rewriting pour l'instant, c'est du genre :
rewriterule mon_url-variable1-variable2-...etc index.php?variable1=$1&variable2=$2... jusqu'à 9.

Tu pourrais avois quelque chose de plus simple comme

rewriterule mon_url-variable /index.php?variable=$1

variable représente tous tes paramètres concaténés, séparés par un séparateur ("--","-","_",ce que tu veux)

Voici la dernière règle de ton htaccess :
# 34-nom_ville-13622-nom_categorie-31-nom_metier-82-nom_client-86.html
RewriteRule ^([[:alnum:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alpha:]-]+)-([[:digit:]]+)-([[:alnum:]-]+)-([[:digit:]]+)\.html$ fiche_du_client.php?dep=$1&idv=$3&idc=$5&idm=$7&idcl=$9


Au lieu de ça tu mets :
^(.*)\.html$ fiche_du_client.php?variable=$1

Tu me suis ?

Ensuite, sous php cette fois, tu n'as plus qu'à récupérer $_GET["variable"] et à l'exploser avec des expressions régulières:

Code: Tout sélectionner
<?php
$v=explode("ton séparateur",$_GET["variable"]);
$dep=preg_match("`^([a-z0-9]+)$`i",$v[0],$out)?$out[1]:false;
$idv=preg_match("`^([a-z0-9]+)$`i",$v[2],$out)?$out[1]:false;
$idc=preg_match("`^([a-z0-9]+)$`i",$v[4],$out)?$out[1]:false;
$idm=preg_match("`^([a-z0-9]+)$`i",$v[6],$out)?$out[1]:false;
$idcl=preg_match("`^([a-z0-9]+)$`i",$v[8],$out)?$out[1]:false;
$page=preg_match("`^([a-z0-9]+)$`i",$v[10],$out)?$out[1]:false; // il est là ton 10ème paramètre
?>

Kijer
WRInaute discret
WRInaute discret
 
Messages: 133
Inscription: 9 Sep 2006

Message le Ven Oct 12, 2007 8:50

Merci beaucoup, je vais analyser ton post avec bcp de soin et te remercie énormément


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... 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