How do I set a location
condition in Nginx that responds to anything that isn't equal to the listed locations?
I tried:
location !~/(dir1|file2\.php) {
rewrite ^/(.*) http://example.com/$1 permanent;
}
But it doesn't trigger the redirect. It simply handles the requested URI using the rules in the rest of the server configuration.
i was looking for the same. and found this solution.
Use negative regex assertion:
location ~ ^/(?!(favicon\.ico|resources|robots\.txt)) {
.... # your stuff
}
Source Negated Regular Expressions in location
Explanation of Regex :
If URL does not match any of the following path
example.com/favicon.ico
example.com/resources
example.com/robots.txt
Then it will go inside that location block and will process it.
Source: Stackoverflow.com