拒绝访问PHP文件(Nginx)

时间:2012-12-01 16:41:45

标签: php linux ubuntu nginx webserver

我希望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 个答案:

答案 0 :(得分:14)

nginx确定哪个位置匹配的顺序可以在这里找到:

http://wiki.nginx.org/HttpCoreModule#location

使用其中任何一个都将在任何其他正则表达式之前匹配:

location = /donotexposeme.php

或者

location ^~ /donotexposeme\.php

第一个是完全匹配,而后者是正则表达式前缀匹配。