Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2872 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [Apache & PHP] Probleme de 'casse' avec mod_rewrite

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Apache & PHP] Probleme de 'casse' avec mod_rewrite

n°332737
JWhy
je peux plier (héhé)
Posté le 14-03-2003 à 00:23:47  profilanswer
 

je debute avec mod_rewrite et je butte sur un petit probleme.
 
j'essaye de rediriger scripts/XXX.png vers scripts/test.php3?img=XXX
et scripts/XXX.html vers vers scripts/test.php3?txt=XXX
mais quoi que j'envoie, la valeur du parametre txt ou img est toujours en minuscule.
 
Voila mon .htaccess

RewriteEngine on
RewriteRule ^(.+)\.png$ /scripts/test.php3?img=$1
RewriteRule ^(.+)\.html$ /scripts/test.php3?txt=$1


 
et voici mon test.php3

Code :
  1. <?
  2.   if (($img != "" )&&($txt == "" )){
  3.     header("Content-type: image/png" );
  4.     $image = imagecreate(strlen($img) *11,16);
  5.     $white = imagecolorallocate($image, 255, 255, 255);
  6.     $black = imagecolorallocate($image, 0, 0, 0);
  7.     imagefilledrectangle($image, 0, 0, $width, $height, $white);
  8.     imagestring($image,3,1,1,$img,$black);
  9.     imagepng($image);
  10.     imagedestroy($image);
  11.   }
  12.   else if (($img == "" )&&($txt != "" )){
  13.     echo $txt;
  14.   }
  15.   else {
  16.     echo "gné?!?";
  17.   }
  18. ?>


 
si je vais sur  
h**p://le_site/scripts/tOtO.png, une image est bien générée mais elle affiche toto (pas de O majuscule)
de meme, si je vais sur  
h**p://le_site/scripts/tOtO.html, une page est bien renvoyée mais elle contient toto (toujours pas de O majuscule)
 
j'ai regardé les differents parametres que l'on peut ajouter apres RewriteRule mais je n'ai rien vu qui puisse resoudre mon probleme...
 
Qu'est ce que j'ai oublié ?!


Message édité par JWhy le 14-03-2003 à 00:33:19

---------------
www.alliancefrancophone.org ... Home is where the heart is
mood
Publicité
Posté le 14-03-2003 à 00:23:47  profilanswer
 

n°333521
JWhy
je peux plier (héhé)
Posté le 14-03-2003 à 14:56:33  profilanswer
 

http://setihfr.free.fr/jwhy/reutil/pleasehelp.jpg

n°333843
JWhy
je peux plier (héhé)
Posté le 14-03-2003 à 21:23:44  profilanswer
 

J'ai refait un exemple simplifié pour voir d'ou venait le probleme...
 
je dois faire qqchose comme ca:
rediriger
  h**p://website/test_mod_rewrite/tEsT.gif  
vers
  h**p://website/img_tEsT
 
et
rediriger
  h**p://website/test_mod_rewrite/tEsT.html
vers
  h**p://website/txt_tEsT
 
les differences min/maj sont nécessaires (dans mon "vrai" cas, la redirection devra aller sur un script php qui se connecte a une table dont la clé primaire , passé en parametre, est BINARY)
 
Apres avoir activé le mod_rewrite dans la config apache et dans mon repertoire /test_mod_rewrite, j'ai mis un .htaccess qui contient

Code :
  1. Options FollowSymLinks
  2. RewriteEngine on
  3. RewriteRule ^(.+)\.gif$ /img_$1
  4. RewriteRule ^(.+)\.html$ /txt_$1


 
la redirection se fait correctement mais les min/maj ne sont pas préserver
j'ai donc activer la "trace" pour le mod_rewrite dans la config apache pour voir ce qu'il se passait:

Code :
  1. <IfModule mod_rewrite.c>
  2.   RewriteEngine on
  3.   RewriteLogLevel 9
  4.   RewriteLog C:\MOD_REWRITE.LOG
  5. </IfModule>


 
 
quand j'accede a h**p://website/test_mod_rewrite/tEsT.gif  
le fichier access.log contient

Code :
  1. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] "GET /test_mod_rewrite/tEsT.gif HTTP/1.1" 404 322


(jusqu'a la tout va bien puisque les /txt_XXX ou /img_XXX n'existent pas)
 
par contre, ce qui m'embete c'est que le fichier error.log contient:

Code :
  1. [Fri Mar 14 10:50:09 2003] [error] [client xxx.xxx.xxx.xxx] File does not exist: c:/easyphp/www/img_test


img_test est en minuscule alors que j'attendais img_tEsT :/
 
de plus, la trace de mod_rewrite montre bien qqchose de bizarre:

Code :
  1. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (2) init rewrite engine with requested uri /test_mod_rewrite/tEsT.gif
  2. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (1) pass through /test_mod_rewrite/tEsT.gif
  3. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (3) [per-dir c:/easyphp/www/test_mod_rewrite/] strip per-dir prefix: c:/easyphp/www/test_mod_rewrite/test.gif -> test.gif
  4. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (3) [per-dir c:/easyphp/www/test_mod_rewrite/] applying pattern '^(.+)\.gif$' to uri 'test.gif'
  5. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (2) [per-dir c:/easyphp/www/test_mod_rewrite/] rewrite test.gif -> /img_test
  6. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (3) [per-dir c:/easyphp/www/test_mod_rewrite/] applying pattern '^(.+)\.html$' to uri '/img_test'
  7. xxx.xxx.xxx.xxx - - [14/Mar/2003:10:50:09 -0600] [localhost/sid#796048][rid#db4088/initial] (1) [per-dir c:/easyphp/www/test_mod_rewrite/] internal redirect with /img_test [INTERNAL REDIRECT]


l'url soumise est correcte (difference min/maj sur les 2 premieres lignes) mais ensuite, a partir de la 3eme ligne, tout utilise la version "minuscule" de l'URL soumise :(
 
Ais-je oublié un truc ? est-ce un comportement normal ?
 
J'utilise Easyphp v1.6 (Apache/1.3.24, PHP Version 4.2.0) sous Windows 2000.


---------------
www.alliancefrancophone.org ... Home is where the heart is
n°333869
JWhy
je peux plier (héhé)
Posté le 14-03-2003 à 22:48:11  profilanswer
 

finalement, c'est peut-etre lié a Windows (merci Siegone)http://www.webmasterworld.com/forum23/1199.htm :(
 
qq'un d'autre a t'il déja eu ce cas ou a trouvé un moyen de contourner ce probleme (autre qu'installer Linux !)


---------------
www.alliancefrancophone.org ... Home is where the heart is

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [Apache & PHP] Probleme de 'casse' avec mod_rewrite

 

Sujets relatifs
Problème forum xmbpetit probleme de memoire!!!
problème avec JTabbedPane [Résolu][HTML] Problème de marges (question conne)
et HTML probleme d'affichage tout conforum en PHP : problème de suivi des messages [résolu]
[PHP-MySQL] Existe-t il une fonction qui renvoie la date de ....Interprétation script php (apache 2.0)
Probleme d'espaces dans un <input> et php 
Plus de sujets relatifs à : [Apache & PHP] Probleme de 'casse' avec mod_rewrite


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR