Автор Тема: alt sv 4.0 httpd2 mod_expires application/x-msdownload [решено альтернативно]  (Прочитано 1840 раз)

Оффлайн shraibikus

  • Участник
  • *
  • Сообщений: 145
  • где мои вещи?
Здравствуйте. Есть такой вот сервер.
Цитата: uname -a
Linux sv 2.6.18-std-smp-alt12 #1 SMP Mon Feb 11 00:44:54 MSK 2008 i686 GNU/Linux
Стоит httpd2 работает ок.
Подключил модуль mod_expires создав ссылку из
/etc/httpd2/conf/mods-available
в
/etc/httpd2/conf/mods-enabled

В корневую папку вебсервера регулярно падает самораспаковывающийся архив EXE:
/var/www/apache2/html/file.exe

Добавил в этой корневой папке веб-сервера файл .htaccess
с содержимым:
ExpiresActive On
ExpiresByType application/x-msdownload "access plus 5 seconds"

Тоже самое указал и в
/etc/httpd2/conf/sites-enabled


сделал
service httpd2 restart

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

Куда копать?



« Последнее редактирование: 17.07.2011 17:00:38 от shraibikus »
прямо ближе, а в обход - быстрее

Оффлайн shraibikus

  • Участник
  • *
  • Сообщений: 145
  • где мои вещи?
Re: alt linux sv 4.0 httpd2 mod_expires application/x-msdownload
« Ответ #1 : 13.07.2011 19:25:30 »
Ну что, нет предложений куда копать?

прямо ближе, а в обход - быстрее

Оффлайн shraibikus

  • Участник
  • *
  • Сообщений: 145
  • где мои вещи?
Подсказали тут:
http://forum.codenet.ru/threads/67908-alt-linux-sv-4.0-httpd2-mod_expires-application-x-msdownload?p=354980&viewfull=1#post354980

Перепост решения:
Решение с сылкой вида example.net/file.exe?version={timestamp} помогло.
Как сделал:

Создал папку file.exe на сервере вместо файла file.exe, а сам файл положил внутрь нее.
Т.е. теперь ссылка не example.net/file.exe, а example.net/file.exe/file.exe. Только внутри папки лежит index.php следующего содержания:
<?php
$sDateStamp 
date("YmdHis");
$sUri "http://example.net/file.exe/file.exe?version=".$sDateStamp;
header('Location: '.$sUri);
exit;
?>


Таким образом мы получаем file.exe прийдя на сайт по старой ссылке example.net/file.exe всегда закачивая, а не получая из кеша, даже через 1 секунду.

прямо ближе, а в обход - быстрее