заставляя браузер кешировать изображения на сайте php - PullRequest
1 голос
/ 19 июля 2011

У меня есть веб-сайт на основе php, и я хочу, чтобы браузер кэшировал изображения в течение 30 дней. Я использую решение для общего хостинга, где у меня нет доступа к конфигурации Apache для включения мод-заголовков или других модулей, и поэтому я могуне используйте механизмы htaccess для этого.

мой сайт является обычным приложением php и содержит как html-содержимое, так и изображения.Я хотел бы, чтобы браузер кэшировал только изображения.Я видел функцию php "header", но не смог найти способ заставить только кеш изображений .. Как мне это сделать?

Спасибо

1 Ответ

3 голосов
/ 19 июля 2011

Насколько я знаю, если вы не можете получить доступ к Apache для установки заголовков, ваш единственный другой вариант - обслуживать изображения из сценария PHP, чтобы вы могли использовать методы заголовка PHP для установки заголовков.

В этом случае вам нужно написать обработчик изображений PHP и заменить все ваши теги изображений вызовами этого обработчика (например, http://mysite.com/imagehandler.php?image=logo.png).. Затем вам потребуется скрипт imagehandler.php для извлечения изображения из файловую систему, установите тип MIME и заголовки управления кэшем и отправьте изображение обратно клиенту.

Вы можете написать свои собственные, или, если вы Google, вы найдете PHP-скрипты обработчика изображений. В любом случае, убедитесь, что вы сосредоточены на безопасности - не позволяйте клиенту извлекать произвольные файлы с вашего веб-сервера, потому что это было бы довольно серьезной дырой в безопасности ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...