try_files might also do the trick but with fallback you might not be able to return contents and a 302, you'd have to experiment with Curl to see what happens, some examples:
http://serverfault.com/questions/323683/try-files-explained
http://serverfault.com/questions/203902/how-to-configure-nginx-to-give-existing-static-files-but-forward-requests-for-no
https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms
http://serverfault.com/questions/323683/try-files-explained
http://serverfault.com/questions/203902/how-to-configure-nginx-to-give-existing-static-files-but-forward-requests-for-no
https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms