Aller au contenu

Rewriting dans htaccess


gaston

Sujets conseillés

J'ai bien trouvé un semblant de réponse dans un sujet mais pas suffisamment complet.

Ma page originale:

http://tradanse.apinc.org/idx_ress.php?pg=...v_cat=Actualité générale

La page envoyée:

http://tradanse.apinc.org/idx_ress-daff-div_cat-Actualité générale.html

Dans htaccess:

RewriteRule ^idx_ress-daff-([a-zA-Z0-9+]*).html idx_ress.php?pg=daff&div_cat=$1 [L]

:shutup:

Résultat: Actualité générale est mal renvoyée (signes balistiques bizarres)

C'est à dire que les caractères accentués et l'espace ne sont pas reconnus.

PS: j'ai essayé [(.+)] mais rien n'y fait

quelqu'un a une solution :?::idea:

Lien vers le commentaire
Partager sur d’autres sites

Autre pb avec caractères spéciaux:

Ma page originale:

http://tradanse.apinc.org/idx_ress.php?pgc...W1nJmlkPTE4OQ==

La page envoyée:

http://tradanse.apinc.org/idx_ress-pgcd-cG...lkPTE4OQ==.html

Dans htaccess:

RewriteRule ^idx_([a-z]*)-pgcd-([a-zA-Z0-9+]*).html idx_$1.php?pgcd=$2 [L]

Résultat: cGc9aW1nJmlkPTE4OQ== est mal renvoyé (signes balistiques bizarres)

C'est à dire que ces caractères sont pas reconnus.

PS: cGc9aW1nJmlkPTE4OQ== est 2 variables encodées en base 64 qui sont décodées dans la page envoyée

Si j'arrive à une solution dans ce cas présent je serais le roi :whistling:

Lien vers le commentaire
Partager sur d’autres sites

RewriteRule ^idx_ress-daff-([a-zA-Z0-9+]*).html idx_ress.php?pg=daff&div_cat=$1 [L]

../..

PS: j'ai essayé [(.+)] mais rien n'y fait

quelqu'un a une solution :?:   :idea:

Salut Gaston, et bienvenue à bord !

Il est normal que [(.+)] ne donne rien, comme la syntaxe est fausse ;)

Essayes avec:

RewriteRule ^idx_ress-daff-(.+)\.html idx_ress.php?pg=daff&div_cat=$1 [L]

Dan

PS: J'ai combiné tes deux posts, comme ils traitent du même sujet ;)

Lien vers le commentaire
Partager sur d’autres sites

Merci tout d'abord pour cette réponse rapide et pour la page réservée au rewriting.

Je préfère me concentrer sur:

http://tradanse.apinc.org/idx_ress-pgcd-cGc9YWZm.html

Pour la simple raison que tous mes scripts fonctionnent sur ce principe d'encodage de variables et que si j'arrive à un résultat celui-ci me permettra de gérer l'ensemble des scripts.

Cette page avec

RewriteRule ^idx_([a-z]*)-pgcd-(.+)\.html idx_$1.php?pgcd=$2 [L]

Ok merci ça fonctionne à merveille.

Tous mes scripts et moi-même sommes ravis.

:D:shake::hug::flower::thumbup:

Mais si ça fonctionne sur le site en localhost j'ai toujours rien en retour de rewriting. PGCD reste vide.

Hier j'ai lu un post de quelqu'un qui avait eu le meme pb en local, mais je ne sais pas le retrouver.

C'est peur-etre mon Internet explorer sous XP ????????

Modifié par gaston
Lien vers le commentaire
Partager sur d’autres sites

Salut Gaston,

Quelle version Apache utilises-tu ? Si c'est sous Windows avec une version antérieure à la 1.3.26, c'est un bug connu et documenté sur le site apache.org

Sinon, il est possible que la chaîne transmise au moteur de réécriture comporte le caractère / au début. Donc ^idx ne sera pas reconnu du fait de ce caractère supplémentaire.

Les versions apache sous windows offrent quelques petites particularités, il vaut mieux le savoir ;)

Essayes avec la règle:

RewriteRule idx_([a-z]*)-pgcd-(.+)\.html idx_$1.php?pgcd=$2 [L]

Dan

Lien vers le commentaire
Partager sur d’autres sites

Depuis une semaine j'ai la derniere version easyphp sous XP:

EasyPHP 1.7 : La version 1.7 finale

Apache 1.3.27

PHP 4.3.3

MySQL 4.0.15

PhpMyAdmin 2.5.3

Que ce soit:

RewriteRule ^idx_([a-z]*)-pgcd-(.+)\.html idx_$1.php?pgcd=$2 [L]

ou

RewriteRule idx_([a-z]*)-pgcd-(.+)\.html idx_$1.php?pgcd=$2 [L]

c'est le meme resultat: rien n'y fait

:huh:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...