Problème de variables dans mon rewriting, valeur limitée ??
6 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- efrancilien
- Nouveau WRInaute

- Messages: 3
- Inscription: 6 Juin 2008
Problème de variables dans mon rewriting, valeur limitée ??
Bonjour j'ai le souci suivant.
j'ai dans mon fichier .htaccess la syntaxe suivante :
Sur ma page test j'ai créer deux liens par image pour tester le rewriting dans une boucle.
Les variables sont ensuite transmises à une requete Sql ... et ma page recherche m'affiche un catalogue.
...
Dans les deux cas le rewriting fontionne bien !
J'arrive toujours sur la bonne page mais lorsque Var2 à une longeur de chaine plus grande
le lien html me renvoi un erreur SQL comme si la Var2 n'existait pas ou etait eronnée alors qu'en version php, tout fonctionne !
Exemple :
Je croyais que du moment que la page s'affichait, tout devait fonctionner pareil ?
La longueur de la valeur d'une variable est elle limitée dans le rewritting ???
Sinon d'où provenir le problème, je tourne en rond depuis toute la soirée !!
Merci d'avance pour votre lumière.
j'ai dans mon fichier .htaccess la syntaxe suivante :
- Code: Tout sélectionner
RewriteRule ^motscles,(.*),([a-z0-9A-Z]+)\.html$ /recherche.php?var1=$1&var2=$2 [L]
Sur ma page test j'ai créer deux liens par image pour tester le rewriting dans une boucle.
Les variables sont ensuite transmises à une requete Sql ... et ma page recherche m'affiche un catalogue.
- Code: Tout sélectionner
lien1a : recherche.php?var1=pommes&var2=AbCd0
lien1b : motscles,pommes,AbCd0.html
- Code: Tout sélectionner
lien2a : recherche.php?var1=poires&var2=AxSD1d
lien2b : motscles,poires,AbCd0.html
...
Dans les deux cas le rewriting fontionne bien !
J'arrive toujours sur la bonne page mais lorsque Var2 à une longeur de chaine plus grande
le lien html me renvoi un erreur SQL comme si la Var2 n'existait pas ou etait eronnée alors qu'en version php, tout fonctionne !
Exemple :
- Code: Tout sélectionner
lien3a : recherche.php?var1=poires&var2=AxSD1dVFtRz03459Rf8xCs [L] (PAGE TROUVEE - SQL OK)
lien3b : motscles,poires,AxSD1dVFtRz03459Rf8xCs.html (PAGE TROUVEE - SQL PAS DE REPONSE TROUVEES)
Je croyais que du moment que la page s'affichait, tout devait fonctionner pareil ?
La longueur de la valeur d'une variable est elle limitée dans le rewritting ???
Sinon d'où provenir le problème, je tourne en rond depuis toute la soirée !!
Merci d'avance pour votre lumière.
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
Re: Problème de variables dans mon rewriting, valeur limitée
efrancilien a écrit:La longueur de la valeur d'une variable est elle limitée dans le rewritting ???
Pas de limite d'Apache mais vu que la longueur de l'url réécrite est limité à 256 caractères. La variable pourra faire max ~250 caracteres
- efrancilien
- Nouveau WRInaute

- Messages: 3
- Inscription: 6 Juin 2008
Problème de casse en retour de $_GET
voilà le resulat :
Je précise que le lien 1 et 2 de depart contient bien dans les deux cas :
Pourquoi mon $_GET['var2'] issu de mon rewritting modifie t'il la casse de certains caractères et comment eviter qu'il le fasse ?
merci encore.
- Code: Tout sélectionner
Valeur de $_GET['var2'] recupérée par la version php
D0DhTJWHioccKtmXOSnQU4Wb09FtRfrV
- Code: Tout sélectionner
Valeur de $_GET['var2'] recupérée par la version rewittée
d0dhtjwhioccktmxosnqu4wb09ftrfrv
Je précise que le lien 1 et 2 de depart contient bien dans les deux cas :
- Code: Tout sélectionner
D0DhTJWHioccKtmXOSnQU4Wb09FtRfrV
Pourquoi mon $_GET['var2'] issu de mon rewritting modifie t'il la casse de certains caractères et comment eviter qu'il le fasse ?
merci encore.
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Ca met en minuscule apparament donc. Mais ça ne le fait pas avec des chaines plus courtes?
Sinon, on m'a toujours dit que c'était pas une bonne idée d'utiliser des majuscules dans les URL... Bon, ça ne résoud pas le problème, ça le contourne.
Quelle version d'apache tu as?
Sinon, on m'a toujours dit que c'était pas une bonne idée d'utiliser des majuscules dans les URL... Bon, ça ne résoud pas le problème, ça le contourne.
Quelle version d'apache tu as?
- efrancilien
- Nouveau WRInaute

- Messages: 3
- Inscription: 6 Juin 2008
Pour la version apache, c'est celle installée avec le kit EasyPh 1.8
En fait, j'ai fait une erreur d'analyse, ce n'est pas une question de longueur de chaine mais bien un probleme de casse.
Toutes les majuscules de l'URL sont transformées en minuscules par le serveur au moment du rewriting.
Concernant la valeur, je la récupère d'une API que j'exploite, donc je ne peux pas la modifier !
N'ayant pas trouvé comment faire directement, je me suis monté un fonction qui crypte la valeur dans l'url et qui la décrypte ensuite sur la page cible, je n'ai trouvé que cela pour résoudre mon problème. Pas super catholique mais au moins tout fonctionne désormais !
Merci pour vos réponses à tous.
Ps voici le code utilisé, on sait jamais çà peut servir à d'autres !
En fait, j'ai fait une erreur d'analyse, ce n'est pas une question de longueur de chaine mais bien un probleme de casse.
Toutes les majuscules de l'URL sont transformées en minuscules par le serveur au moment du rewriting.
Concernant la valeur, je la récupère d'une API que j'exploite, donc je ne peux pas la modifier !
N'ayant pas trouvé comment faire directement, je me suis monté un fonction qui crypte la valeur dans l'url et qui la décrypte ensuite sur la page cible, je n'ai trouvé que cela pour résoudre mon problème. Pas super catholique mais au moins tout fonctionne désormais !
Merci pour vos réponses à tous.
Ps voici le code utilisé, on sait jamais çà peut servir à d'autres !
- Code: Tout sélectionner
Function Crypte($Chaine) {
$PassCrypte="";
$keys = array("a" => "00", "b" => "01", "c" => "02", "d" => "03", "e" => "04", "f" => "05",
"g" => "06", "h" => "07", "i" => "08", "j" => "09", "k" => "10", "l" => "11",
"m" => "12", "n" => "13", "o" => "14", "p" => "15", "q" => "16", "r" => "17",
"s" => "18", "t" => "19", "u" => "20", "v" => "21", "w" => "22", "x" => "23",
"y" => "24", "z" => "25",
"A" => "26", "B" => "27", "C" => "28", "D" => "29", "E" => "30", "F" => "31",
"G" => "32", "H" => "33", "I" => "34", "J" => "35", "K" => "36", "L" => "37",
"M" => "38", "N" => "39", "O" => "40", "P" => "41", "Q" => "42", "R" => "43",
"S" => "44", "T" => "45", "U" => "46", "V" => "47", "W" => "48", "X" => "49",
"Y" => "50", "Z" => "51",
"0" => "aa", "1" => "bb", "2" => "cc", "3" => "dd", "4" => "ee", "5" => "ff",
"6" => "gg", "7" => "hh", "8" => "ii", "9" => "jj");
$number = strlen($Chaine);
for ($i=0; $i<$number; $i++) {
$PassCrypte.=$keys[substr($Chaine, $i, 1)];
}
return $PassCrypte;
}
- Code: Tout sélectionner
function Decrypte ($Chaine){
$PassDeCrypte="";
$keys = array("00" => "a", "01" => "b", "02" => "c", "03" => "d", "04" => "e", "05" => "f",
"06" => "g", "07" => "h", "08" => "i", "09" => "j", "10" => "k", "11" => "l",
"12" => "m", "13" => "n", "14" => "o", "15" => "p", "16" => "q", "17" => "r",
"18" => "s", "19" => "t", "20" => "u", "21" => "v", "22" => "w", "23" => "x",
"24" => "y", "25" => "z",
"26" => "A", "27" => "B", "28" => "C", "29" => "D", "30" => "E", "31" => "F",
"32" => "G", "33" => "H", "34" => "I", "35" => "J", "36" => "K", "37" => "L",
"38" => "M", "39" => "N", "40" => "O", "41" => "P", "42" => "Q", "43" => "R",
"44" => "S", "45" => "T", "46" => "U", "47" => "V", "48" => "W", "49" => "X",
"50" => "Y", "51" => "Z",
"aa" => "0", "bb" => "1", "cc" => "2", "dd" => "3", "ee" => "4", "ff" => "5",
"gg" => "6", "hh" => "7", "ii" => "8", "jj" => "9");
$number = strlen($Chaine);
for ($i=0; $i<$number; $i=$i+2) {
$PassDeCrypte.=$keys[substr($Chaine,$i,2)];
}
return $PassDeCrypte;
}
6 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 :
- [PHP] problème valeur de variables
- URL Rewriting problème de la présence de variables
- Problème URL rewriting avec 3 variables
- Problème: nombre de variables dans l'URL et rewriting
- url rewriting et variables
- Pb rewriting avec variables
- Rewriting avec 2 variables
- URL Rewriting et multiples variables
- URl à 2 variables pour rewriting
- Url rewriting transmissions de variables
Consultez la description détaillée des produits ou services de Google suivants : Google Website Optimizer
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
