Такая ситуация: у меня есть php скрипт, который проверяет авторизирован пользователь или нет и отдает изображения, хранящиеся на этом сервере.
Так, например, при запросе на localhost/image.php?image=photo.jpg браузер отдаст изображение photo.jpg (Не-не, уязвимости типа File Inclusion там нет:), не надо писать об этом). Но сейчас появилась необходимость кэшировать на короткое время отдаваемые изображения этим скриптом. Я добавил заголовок Expires с временем кэширования на 2 минуты вот так: header("Expires: " . gmdate("D, d M Y H:i:s", time() + 60*2) . " GMT");, Cache-Control у меня по умолчанию стоит public.
Но... браузер по-прежнему делает запрос к серверу для получения изображения, как бы игнорируя вышеприведенные заголовки. А мне нужно, чтобы браузер НЕ делал запросы к серверу, а вытаскивал изображение из кэша.
Подскажите, что я делаю не так... Заранее спасибо!!!
Можете попробовать прописать настройки сервера
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.jpg$ image.php?image=$1 [QSA,L]
</IfModule>
А вообще можно попробовать условия авторизации поставить и просто не обращаться к скрипту.
Продвижение своими сайтами как стратегия роста и независимости