auto Posté 24 Août 2006 Partager Posté 24 Août 2006 Bonjour, J'ai un petit souci, j'ai une règle toute simple du style : RewriteRule ^cat/(.*)$ index.php?cat=$1 [QSA] mais un problème se passe lorsque je veux accéder à la catégorie toto+tata donc, c'est la page cat/toto%2Btata (le %2B est le code du +) mais elle est redirigé vers index.php?cat=toto+tata ( et donc, dans mon code, elle est interprété comme "toto tata") Y'a t'il un moyen pour que apache ne remplace par les %xx par leur équivalent lors de la réécriture ? merci d'avance Lien vers le commentaire Partager sur d’autres sites More sharing options...
auto Posté 24 Août 2006 Auteur Partager Posté 24 Août 2006 Si quelqu'un a la solution, je suis toujours preneur, j'ai décidé de contourner le problème. Avec un petit script php en haut de mon index.php comme $_SERVER['REQUEST_URI'] contient la bonne valeur : if (isset($_GET['cat'])){ // apache a déjà fait le rewrite $tmp=array(); preg_match('@/cat/([^\?]*)@',$_SERVER['REQUEST_URI'],$tmp); //on refait l'expression régulière if (count($tmp)>1){ // il est logiquement toujours trouvé $_GET['tags'] = rawurldecode($tmp[1]); // on met la bonne valeur cette fois ci }} Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 24 Août 2006 Partager Posté 24 Août 2006 Tu ne peux pas éviter à Apache d'interpréter les URLs, et cela reste valable pour les caractères spéciaux (y compris les caractères accentués). C'est donc effectivement dans ton script que tu dois les traiter Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant