| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
Kijer WRInaute discret

Inscrit le: 09 Sep 2006 Messages: 92
|
Posté le : Lun Oct 08, 2007 14:46 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
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
Inscrit le: 06 Oct 2005 Messages: 1
|
|
| |
|
 |
Tilt WRInaute passionné

Inscrit le: 26 Mar 2005 Messages: 757
|
Posté le : Lun Oct 08, 2007 16:44 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
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

Inscrit le: 09 Sep 2006 Messages: 92
|
Posté le : Lun Oct 08, 2007 17:12 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
Je n'arrive pas a conceptualiser le procédé à appliquer..
Voici mes regles actuelles :
| Code: |
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

Inscrit le: 09 Sep 2006 Messages: 92
|
Posté le : Mar Oct 09, 2007 9:13 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
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

Inscrit le: 09 Sep 2006 Messages: 92
|
Posté le : Mer Oct 10, 2007 0:16 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
Encore moi
Sur un sujet parlant du même soucis, un memebre a répondu :
| Citation: |
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 passionné

Inscrit le: 26 Mar 2005 Messages: 757
|
Posté le : Jeu Oct 11, 2007 14:26 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
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: |
# 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 :
| Citation: |
# 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: |
<?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

Inscrit le: 09 Sep 2006 Messages: 92
|
Posté le : Ven Oct 12, 2007 8:50 Sujet du message: Comment passer la limitation a 9 paramètres en url rewriting |
|
|
| Merci beaucoup, je vais analyser ton post avec bcp de soin et te remercie énormément |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
|
|