6

我希望 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

4

1 回答 1

14

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

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

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

location = /donotexposeme.php

或者

location ^~ /donotexposeme\.php

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

于 2012-12-01T17:02:15.653 回答