I have the following nginx location blocks:
location /publish/domain.io.php {
allow 127.0.0.1;
deny all;
}
location ~\.php {
try_files $uri =404;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
The problem is that the location block /publish/domain.io.php
does not seem to be executing. I can call the php script domain.io.php
from any host.
Ideas? Thanks much.
Best Answer
Use the
=
location prefix to determine exact match. As it is written in nginx documentation: "If an exact match is found, the search terminates."So, your location should look like:
or