location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root /var/www/inky/data/www/somedocroot;
error_page 404 = @fallback;
}
....
location @fallback {
proxy_pass http://127.0.0.1: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;
}
Пример из ispmanager взял, лень руками писать.
Логика такая: здесь описаны 2 location (у вас в nginx описан только один из них). Первый - "отдавать статические файлы, подходящие под регулярно выражение напрямую через nginx". Второй - виртуальный location, в который нельзя попасть через какой-либо url, но который можно использовать в реврайтах и внутри конфигурации. Сам локейшн второй - "спроксировать запрос в апач" ( в данном случае, висящий на порту 81).
Ну а дальше всё просто - строчка:
error_page 404 = @fallback;
Означает "если запрошенного статического файла нет в docroot - передай запрос в виртуальный location @fallback" - так запрос попадёт в апач и ваши скрипты-реврайты сработают.