Gestion cache d'images distantes

Nouveau WRInaute
Bonjour,

Pour les besoins d'un développement nous avons du mettre en place un serveur media sur lequel est hébergé toutes les images produits du projet.

Sur ce même serveur nous avons un script php qui va tester l'existence du fichier image selon les paramètres qui lui sont passés pour afficher un no_image dans le cas ou celui ci n'existerai pas.

Un htaccess est également présent pour éviter de faire un appel direct au script php dans le but d'avoir des noms de fichier de type mon_fichier.jpg et non image.php?n=mon_fichier

Mon pb est le suivant les images ne sont jamais en cache (avec firebug le status de celles ci est toujours 200 au lieu de l'abituel 304 not modified)

Voici le détail de l'htaccess

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+)-(.+)-(.+)\.jpg 						image_product_id.php?c=$1&p=$2&w=$3 [L,QSA]

Voici le détail du fichier php

Code:
<?php
if(isset($_GET['type']) && !empty($_GET['type'])) { $sType = $_GET['type']; } else { $sType = 'jpg'; }
if(isset($_GET['c']) && !empty($_GET['c'])) { $sCodeReseau = $_GET['c']; }
if(isset($_GET['p']) && !empty($_GET['p'])) { $iProductId = $_GET['p']; }
if(isset($_GET['w']) && !empty($_GET['w'])) { $iTailleImage = $_GET['w']; }
$sNomImage = "../produits_id/".$iProductId.'_'.$iTailleImage.'_'.$iTailleImage.'.'.$sType;
$sNomNoImage = "../NO_IMAGE/".strtolower($sCodeReseau).'_'.$iTailleImage.'_'.$iTailleImage.'.'.$sType;
if(file_exists($sNomImage)) { $sImage = $sNomImage; } else { $sImage = $sNomNoImage; }
header('Content-type:image/'.$sType);
header('Content-transfer-encoding: binary');
header('Content-length: '.filesize($sImage));
$offset = 60 * 60 * 24 * 3;
header('Cache-Control: '.$offset);
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
readfile($sImage);
?>

si quelqu'un a une idée à mon pb je suis preneur

Merci d'avance pour vos réponses :D
 
Discussions similaires
Haut