bluemanca | Bon, grâce à l'aide d'un internaute bienveillant, "yponomeut", et divers peaufinages, je suis parvenu à trouver une première solution qui marche nickel :
Le fichier .htaccess :
Code :
- # Le serveur doit suivre les liens symboliques :
- Options +FollowSymlinks
- # Activation du module de réécriture d'URL :
- RewriteEngine on
- # Réécriture des fichiers images n'ayant pas été trouvés :
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteRule IMAGES/(.*)$ http://www.monsite.extension/URLRe [...] php?img=$1 [L]
|
Le fichier "URLRewritingPourIMAGES.php ":
Code :
- <?php
- //------------------------------------------------------------------------------
- // URLRewritingPourIMAGES.php
- //------------------------------------------------------------------------------
- // Définit certaines variables pour mon site dont $LIAISON_Root nécessaire ici
- include_once "FFTI.inc.php";
- if (isset($_GET['img']))
- {
- $NomFichierImage = $_GET['img'];
-
- $TabAccents = array('é','è','ê','ë','È','É','Ê','Ë','à','â','ä','À','Â','Ä','ù','û','ü','Ù','Û','Ü','î','ï','Î','Ï','ô','ö','Ô','Ö');
-
- for($i=0; $i<count($TabAccents); $i++) {$TabAccentsUTF8[] = utf8_encode($TabAccents[$i]);}
- $NomFichierImage = str_replace($TabAccentsUTF8, $TabAccents, $NomFichierImage);
-
- // $LIAISON_Root doit contenir le chemin physique sur le disque dur (il est initialisé par FFTI.inc.php)
- $PathFileName = $LIAISON_Root.'IMAGES/'.$NomFichierImage;
- $Extension = strtoupper(substr($PathFileName,-3));
-
- switch ($Extension)
- {
- case 'JPG': $Header = 'Content-Type: image/jpeg'; break;
- case 'GIF': $Header = 'Content-Type: image/gif'; break;
- case 'PNG': $Header = 'Content-Type: image/png'; break;
- default : exit("URLRewritingPourIMAGES.php : Type d'image non implémenté : [$Extension]" );
- }
-
- header($Header);
- readfile($PathFileName);
- }
- //------------------------------ FIN DE FICHIER ------------------------------?>
|
En espérant que cela servira à des personnes confrontées au même problème que moi. |