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
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...
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 :
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.+)\.gif$ /img_$1
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 :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteLogLevel 9
RewriteLog C:\MOD_REWRITE.LOG
</IfModule>
quand j'accede a h**p://website/test_mod_rewrite/tEsT.gif le fichier access.log contient
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.