Запретить доступ к PHP-файлу (Nginx)
Я хочу, чтобы Nginx запретил доступ к определенному PHP-файлу, назовем его donotexposeme.php
, но он, похоже, не работает, скрипт PHP запускается как обычно. Вот что у меня есть в конфигурационном файле:
location / {
root /var/www/public_html;
index index.php;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/public_html$fastcgi_script_name;
include fastcgi_params;
}
location /donotexposeme.php {
deny all;
}
конечно, я делаю sudo service nginx reload
(или restart
) каждый раз, когда я редактировать конфиг.
1 ответов
порядок, в котором nginx определяет, какое местоположение соответствует, можно найти здесь:
http://wiki.nginx.org/HttpCoreModule#location
использование любого из них будет сопоставлено перед любым другим регулярным выражением:
location = /donotexposeme.php
или
location ^~ /donotexposeme\.php
первое-это точное совпадение, а вторая-регулярное выражение, префикс.