Просто хотел бы отметить, что указывать временную метку необязательно - если она не включена, то установка expires max
неверна, поскольку не будет никакого способа обновить файл.
Кроме того, директива location
в Nginx не может видеть строку запроса, поэтому размещенное здесь решение никогда не соответствует «необязательной» временной отметке.
Правильное решение (т. Е. Отправляющее максимальное время истекает только тогда, когда файл был запрошен с отметкой времени) будет:
location ~* \.(js|css|png|jpg)$ {
if ($query_string ~ "^[0-9]+$") {
expires max;
break;
}
}
Если временная метка не указана, то вы полагаетесь на Last-Modified
и ETag
, которые автоматически обрабатываются Nginx.