Убрать кэширование только в одной директории

А
На сайте с 27.08.2013
Offline
110
616

Все добра. На сайте включил кеширование по советам Гугла на 7 дней на NGINX

Как сделать так, чтобы в директории site.ru/admin не было кэширования?

Вот мой конфиг

server {

server_name site.ru www.site.ru;
listen 192.168.10.10;
charset UTF-8;
set $root_path /var/www/user/data/www/site.ru;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
#access_log /var/www/nginx-logs/user isp;
error_page 404 = @fallback;
expires 7d;
}
location / {
proxy_pass http://192.168.10.10:81;
proxy_redirect http://192.168.10.10:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location /admin/^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
proxy_pass http://192.168.10.10:81;
proxy_redirect http://192.168.10.10:81/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
expires off;
}
include /usr/local/ispmgr/etc/nginx.inc;
}

И кеширование в директории admin никак не выключается. Посоветуйте пожалуйста.

J
На сайте с 20.02.2014
Offline
120
jkm
#1

Нужно в правильном порядке расставить location http://nginx.org/ru/docs/http/ngx_http_core_module.html#location

Правило для файлов из папки /admin/ поставить выше правила для остальных папок.


server {
server_name site.ru www.site.ru;
listen 192.168.10.10;
charset UTF-8;
set $root_path /var/www/user/data/www/site.ru;
location ~* ^/admin/.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
#access_log /var/www/nginx-logs/user isp;
error_page 404 = @fallback;
expires off;
}
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
#access_log /var/www/nginx-logs/user isp;
error_page 404 = @fallback;
expires 7d;
}

Или ставить нужное значения с помощью map http://nginx.org/ru/docs/http/ngx_http_map_module.html


map $uri $expires {
default 7d;
~^/admin/ off;
}

server {
server_name site.ru www.site.ru;
listen 192.168.10.10;
charset UTF-8;
set $root_path /var/www/user/data/www/site.ru;
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
#access_log /var/www/nginx-logs/user isp;
error_page 404 = @fallback;

expires $expires;
}
А
На сайте с 27.08.2013
Offline
110
#2

Спасибо! Работает!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий