2016-07-25 2 views
0

Я знаю, что CDN, такие как Cloudflare, сохраняют пропускную способность, кэшируя статические файлы в виде изображений, JS и CSS-файлов.Использование CDN как Cloudflare с mod_rewrite для экономии полосы пропускания

У меня есть скрипт, который генерирует изображения на лету и его расположение выглядит примерно так:

http://domain.com/image.php?id=1 

с идентификатором является идентификатор изображения. Cloudflare не будет кэшировать эти изображения из-за динамического URL. Если добавить мод правила перезаписи переписать URL, чтобы стать чем-то вроде:

http://domain.com/images/1 

или

http://domain.com/images/1.jpg 

Будет CloudFlare кэшировать изображения в этом случае или изображения должны быть на самом деле реальные файлы, которые находятся в каталогах?

+0

Этот пост дубликат, он был дан ответ здесь: http://serverfault.com/questions/791758/using-cdn-like -cloudflare-with-mod-rewrite-to-save-bandwidth/791804 # 791804 – mjsa

ответ

1

Один из способов проверки - открыть страницу, содержащую изображение, а затем использовать Chrome Web Inspector. Перейдите в раздел «Сеть»> «Изображения», выберите изображение, затем в заголовке «Заголовок ответа» найдите статус cf-cache.

Если вы видите cf-cache-status: HIT, то изображение или ресурс кэшируется CloudFlare. Я думаю, что альтернатива «МИСС»

Успехов

enter image description here

+0

Спасибо Дэвиду за хороший совет! Я обнаружил, что CloudFlare имеет функцию «Правила страницы» для кэширования обычно нераскрытых файлов, таких как динамические сценарии изображений, как в моем случае с использованием шаблонов URL-адресов, поэтому мне даже не нужно переписывать URL-адрес мод. :) –

+0

спасибо за ваш альтернативный sugeestiion @MichaelSamuel ... всегда хорошо иметь больше одного инструмента в вашем ящике инструментов;) –

0

Этот вопрос является дубликатом один на StackOverflow уже: Using CDN like Cloudflare with mod_rewrite to save bandwidth

Короткий ответ, однако, заключается в следующем:

Самый простой способ кэшировать все на заданной конечной точке в CloudFlare - использовать Cache Everything Page Rule, n звездочка будет соответствовать результату подстановки . Таким образом, в первом примере мы можем сделать следующее:

CloudFlare Cache Everything on endpoint

Смежные вопросы