Тема: nginx rewrite
Показать сообщение отдельно
Старый 20.01.2015, 15:28   #7
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: nginx rewrite

Добавь ^ ко всем rewrite вначале строки.
rewrite ^/get/(.*)$ /get.php?url=$1 last
При изменении файла меняется его modified date в системе? Если да, то ты можешь сделать так:
location / {
    
try_files $uri $uri/ =404;
    
expires modified 365d;

Это будет учитывать кеш и обновленный файл, заголовки будут посланы таким образом, что броузер все равно будет делать запрос на файл с заголовком даты своего кеша, если сервер считает что кеш на клиенте идентичен то шлет 304 обрывая соединение (по сути запрос только обменяет заголовки), и клиент грузит файл с кеша.
Такой метод стабильно работает для кеша и решил мне много проблем с очень похожими ситуациями как у тебя.

Относительно аватарок, можно вообще сделать proxy на CDN, и если файл там не найден, но редиректнит обратно на ссылку с запросом генерации аватарки в твоем скрипте. Скрипт сгенерит аватарку выдаст клиенту и паралельно зальет ее на CDN. И следующий запрос получит ее с CDN сразу.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pax (20.01.2015)