В общем суть ситуации такая. Есть виртуальный сервер, поднятый на nginx+php-fpm. Все работает хорошо и свою задачу выполняет, но есть один неприятный момент.
Мы часто выкладываем обновления статичных файлов, то есть CSS/JS. Так как выкладываем мы их под старыми именами, то закешировавшись, они далее отдаются старыми, без проверки даты последнего изменения. При этом ломается view страницы напрочь. Чинится все банальным F5, но это не практичный вариант.
Как допилить конфиг?
Имеем конфиг:
Мы часто выкладываем обновления статичных файлов, то есть CSS/JS. Так как выкладываем мы их под старыми именами, то закешировавшись, они далее отдаются старыми, без проверки даты последнего изменения. При этом ломается view страницы напрочь. Чинится все банальным F5, но это не практичный вариант.
Как допилить конфиг?
Имеем конфиг:
Код:
server {
listen 80;
set $root '/var/www/xiio.local/www';
server_name xiio.local;
expires -1M;
root $root;
index index.php index.html index.htm;
access_log /var/log/nginx/xiio.local.access.log;
error_log /var/log/nginx/xiio.local.error.log;
location / {
location ~* ^.+\.(ico|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
error_log off;
access_log off;
# only set expires max IF the file is a static file and exists
if (-f $request_filename) {
expires max;
}
}
location ~* (.+\.tpl$) {
deny all;
}
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
}
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;
include fastcgi_params;
}
}