Как кэшировать все запросы на данном субдомене (Apache)

RewriteRule ^IMG-(.+)_w-(.+)_h-(.+)_c-(.+)$ imgcpu\?src=$1&w=$2&h=$3&c=$4 [L]
RewriteRule ^IMG-(.+)_w-(.+)_h-(.+)_f-(.+)$ imgcpu\?src=$1&w=$2&h=$3&f=$4 [L]   
RewriteRule ^IMG-(.+)_w-(.+)_h-(.+)$ imgcpu\?src=$1&w=$2&h=$3 [L]
RewriteRule ^IMG-(.+)_w-(.+)$ imgcpu\?src=$1&w=$2 [L]
RewriteRule ^IMG-(.+)_h-(.+)$ imgcpu\?src=$1&h=$3 [L]
# pfff endless possibilities!!

И это даже не покрывает случаи, где сначала высоте дают ширину. Нет это не должно работать!

Позволяет находят решение перенаправить весь ДОПОЛНИТЕЛЬНЫЙ &w = или &h = с чем-то как и [a-z] = (.*), sothat _h-или _w-универсальны, и не имеет значения, что буква там _c-или _q-, которому что-либо могло затем соответствовать. ЭТО было бы очень желанным, переписывают.

Между тем это делает работы!!

<img src"/IMG-folder/photo_w100_h100_cf_q60.jpg"/>

при помощи:

RewriteRule ^IMG-(.+)_w(.+)_h(.+)_c(.+)_q(.+).jpg$ 
            imgcpu\?src=$1\.jpg&w=$2&h=$3&c=$4&q=$5 [L]

Таким образом, присвоение Теперь:
Перепишите любые из запросов, которые следуют [photo123.jpg]&[a-z]=(.*)&[a-z]=(.*)etcettera в photo123_X-x_Y-y(optionally more queries).jpg

0
задан 26 February 2013 в 19:52
1 ответ

Apache включает модуль mod_cache , который реализует кэширование в соответствии с RFC2616. Вам необходимо убедиться, что ваш PHP-скрипт устанавливает соответствующие заголовки Expires в своих ответах. Ваша конфигурация должна выглядеть примерно так:

LoadModule cache_module modules/mod_cache.so
LoadModule cache_disk_module modules/mod_cache_disk.so

<Location /images>
    CacheRoot /var/cache/apache/sitename/images
    CacheEnable disk    
</Location>
0
ответ дан 5 December 2019 в 15:35

Теги

Похожие вопросы