Страницы генерируются динамически, и поскольку сейчас мне нужно PHPSESSID
, вся страница не может быть кэширована. Но, по крайней мере, я хотел бы кэшировать весь статический контент, включая изображения, которые включены в страницы, двумя способами:
src="http://www.example.com/image.php?height=70&width=70&image=/ads/thumb/68370.jpg"
так и в штатном режиме
src="http://www.example.com/uploads/user/thumb/8705.jpg
В конфигурационном файле Varnish изображения, такие как jpg, png
и 'image.php'
url, настроены на кэширование.
Когда страница открывается в браузере дважды, Varnish работает нормально, возраст jpgs, pngs
и image.php
> 0.
Теперь, когда я запускаю скрипт для прогрева кеша лака, а затем открываю любую страницу в браузере в первый раз, все jpgs, pngs
и image.php
возраста всегда = 0
Скрипт для прогрева кеша:
wget --quiet -U Firefox http://$URL/$sitemap_file --no-cache --header='Cache- Control: no-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+ " | while read line; do
if [[ $line == *.xml ]]
then
newURL=$line
wget --quiet -U Firefox $newURL --no-cache --header='Cache-Control: n o-cache' --output-document - | egrep -o "http(s?)://$URL[^ \"\'()\<>]+" | while read newline; do
time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\ n" $newline -o /dev/null 2>&1
echo $newline
done
else
time curl -A 'Cache Warmer' -sL -w "%{http_code} %{url_effective}\n" $line -o /dev/null 2>&1
echo $line
fi
done
Нет проблем с другими статическими файлами, такими как css
или js
, поскольку они общие для всех страниц, и любая страница может загрузить их в кеш, но изображения для каждой страницы разные.
Итак, можно ли кэшировать изображения из скрипта прогрева?
Спасибо за любые подсказки Дерек