Je veux que Nginx refuse l’access à un fichier PHP spécifique, appelons-le donotexposeme.php
, mais cela ne semble pas fonctionner, le script PHP est exécuté normalement. Voici ce que j’ai dans le fichier de configuration:
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; }
Bien sûr, je fais sudo service nginx reload
(ou restart
) chaque fois que je modifie la configuration.
L’ordre dans lequel nginx détermine quels emplacements correspondent peut être trouvé ici:
http://wiki.nginx.org/HttpCoreModule#location
L’utilisation de l’une ou de l’autre sera comparée avant toute autre expression régulière:
location = /donotexposeme.php
Ou
location ^~ /donotexposeme\.php
Le premier est une correspondance exacte alors que le second est une correspondance de préfixe d’expression régulière.