Для обработки состояния обновления сервера я всегда пользовался такой конструкцией
if (-f /home/shared/system/maintenance.html) {
return 503;
}
error_page 503 @maintenance;
location @maintenance {
root /home/shared/errors;
rewrite ^(.*)$ /maintenance.html break;
}
И не знал себе проблем, но когда я захотел сделать страничку maintenance.html со стилями и картинками - я неизменно получаю в логах такого рода штуки:
2011/05/05 02:47:20 [notice] 13760#0: *6 "^(.*)$" matches "/somthing", client: x.x.x.x, server: server.com, request: "GET /some.jpg HTTP/1.1", host: "server.com"
2011/05/05 02:47:20 [notice] 13760#0: *6 rewritten data: "/maintenance.html", args: "", client: x.x.x.x, server: server.com, request: "GET /some.jpg 2 HTTP/1.1", host: "server.com"
Само по себе это логично, что если уж все перезаписываем, то и статику вспомогательную тоже - но найти элегантного решения как перезаписывать все, кроме файлов которые физически есть в специально обученной папке /home/shared/errors мне не удалось.. помогите, пожалуйста!