Setting Allow / Deny Rules + Keep processing other location rules?

I’m having a heck of a time setting allow / deny rules for certain
directories and files + getting Nginx to keep handling other location
rules.

For example, I want to only allow my IP address access to the WordPress
login page:

location ~* wp-login.php {
allow 22.131.12.14;
deny all;
}

Pass off php requests to Apache

location ~* .php$ {
include /usr/local/etc/nginx/proxypass.conf;
proxy_pass http://127.0.0.1:80;
}

When I visit the WordPress login page, all I see is the raw PHP code.

How can I set up the first location block to allow me to add allow /
deny
rules, charset, headers, etc + have PHP files still processed by the
second
location block?

Posted at Nginx Forum:

Hello!

On Sat, Jul 05, 2014 at 12:29:18PM -0400, Mayhem30 wrote:

}
rules, charset, headers, etc + have PHP files still processed by the second
location block?

To process a request nginx will select only one location block.
Therefore, the only way is to specify full configuration in a
single location block.

E.g., in this particular case you have to write something like
this:

location ~* wp-login.php {
    allow 22.131.12.14;
    deny all;
    include /usr/local/etc/nginx/proxypass.conf;
    proxy_pass http://127.0.0.1:80;
}


Maxim D.
http://nginx.org/