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
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>