mod_rewrite RewriteCond на основе Измененного в последний раз? (.htaccess)

Я сделал следующее, чтобы взять изображение и изменить размер его на лету. Надежда это помогает

Bitmap bm;
bm = Bitmap.createScaledBitmap(BitmapFactory.decodeFile(filepath), 100, 100, true);
mPicture = new ImageView(context);
mPicture.setImageBitmap(bm);    
6
задан Lea Verou 23 August 2009 в 08:59
поделиться

3 ответа

Исходящие заголовки не существуют до намного позже, чем действует mod_rewrite . Кроме того, в mod_rewrite нет встроенной функции проверки времени изменения файла, поэтому самое близкое, что вы могли бы использовать, это создание RewriteMap из множества внешних программ перезаписи, чтобы найти выяснить, был ли изменен рассматриваемый файл.

Если я правильно понимаю ваше приложение,

0
ответ дан 10 December 2019 в 02:51
поделиться

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

Вот пример сценария bash:

#!/usr/bin/env bash
while read line; do
    max_age=${line%%:*}
    filename=${line#*:}
    if [[ -f $filename ]]; then
        lm=$(stat -f %m "$filename")
        if [[ $(date +%s)-$lm -le $max_age ]]; then
            echo yes
        else
            echo no
        fi
    else
        echo no
    fi
done

Объявление карты перезаписи должно быть помещено в файл конфигурации вашего сервера или виртуального хоста, поскольку программа запускается только один раз, а затем ожидает ввода:

RewriteMap last-modified-within prg:/absolute/file/system/path/to/last-modified-within.sh

А затем вы можете используйте эту карту перезаписи следующим образом (пример .htaccess):

RewriteCond %{last-modified-within:30:%{REQUEST_FILENAME}} =yes
RewriteRule ^foo/bar$ - [L]
RewriteRule ^foo/bar$ script.php [L]
9
ответ дан 10 December 2019 в 02:51
поделиться

Рассматривали ли вы возможность использования mod_proxy, mod_cache и / или squid? Похоже, вы пытаетесь откатить собственное кеширование ...

0
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

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