Re: Можно ли боротся с кэшэм страницы-заглушки?
Gena Makhomed
gmm на csdoc.com
Вт Авг 3 15:00:06 MSD 2010
On 03.08.2010 12:04, Igor Sysoev wrote:
>>>> использую try_files /maintance.html @codeigniter;
>>>> и когда я создаю файл maintance.html
>>>> (заглушка), срабатывает nginx и "всё идёт
>>>> по плану". но беда, страница эта
>>>> попадает в кеш и когда я удаляю файл
>>>> maintance.html то пользователи продолжают её
>>>> видеть. срабатывает только нажатие
>>>> cntrl+f5(r)
>>> location = /maintenance.html {
>>> root ...;
>>> expires -1;
>>> }
>>
>> Это не поможет.
>> /maintenance.html обрабатывается внутри location'а с try_files.
>
> У меня появилась такая идея: добавить модификатор к имени для выполнения
> внутреннего редиректа, что-то вроде:
>
> try_files /maintenance.html> $uri $uri/ =404;
>
> Варианты: ">", "*>", "=>", "~>".
а может быть такой вариант:
синтакис:
try_files {files} [+ at location_yes] [@location_no];
переход в @location_yes если какой-либо файл найден
переход в @location_no если ни один из файлов не найден
варианты:
try_files {files} @location_no;
try_files {files} + at location_yes;
try_files {files} + at location_yes @location_no;
пример:
location / {
root /home/www/example.com/htdocs;
try_files /maintenance.mode + at maintenance;
try_files $uri $uri/ @codeigniter;
}
location @maintenance {
root /home/www/example.com/maintenance/htdocs;
index maintenance.html
expires -1;
}
или как вариант:
location @maintenance {
return 200 "Site in maintenance-mode. Please try again later."
expires -1;
}
при этом файл /maintenance.mode может быть пустым, и перевод
сайт в/из режима maintenance можно проводить простым способом:
touch /maintenance.mode
...
rm /maintenance.mode
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru