العنوان يقول كل شيء ، ليس لدينا سيطرة على بيئة الخادم الخاصة بنا وعلى الرغم من أننا يمكن أن نطلب منهم إعادة ترجمة Apache لنا لن يحدث ذلك بين عشية وضحاها.
هل هناك أي شيء يمكننا القيام به هو أن هذه الوحدات (mod_expires ، mod_headers) غير متوفرة للمساعدة في تحديد محتوى معين (الصور ، js ، css) يجب أن يتم تخزينها مؤقتًا أو هل نحن محظوظون؟
أحد الخيارات هو إرسالها من خلال PHP برنامج نصي والحصول على هذا البرنامج النصي لرؤوس التخزين المؤقت لك. ينجز الشيء نفسه مع القليل من الحمل الإضافي فقط لأنه يجب أن يكون PHP يخدم الصورة كوكيل.
مثال:
HTML:
<img src="/images/img.php?img=someimage.png">
PHP:
<?php
$filename = $_GET['img'];
$file = '/path/to/file/' . $filename;
// Do verification that the file exists, they're not after any secure
// files, etc. Not shown here
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header("Last-Modified: " . date( "D, j M Y H:i:s", strtotime("- 1 month")));
header("Expires: Thu, 20 Sep 2012 05:00:00 GMT");
header("Cache-Control: max-age=2692000, public");
header("Pragma: cache");
ob_clean();
flush();
readfile($file);
exit;
?>