有几种方法可以在Nginx中禁止访问PHP文件,以下是常见的实现方式:
location ~ \.php$ {
deny all;
return 403;
}
location ~ \.php$ {
# 不传递请求给PHP处理器
return 403;
}
location ^~ /uploads/.*\.php$ {
deny all;
return 403;
}
location ~ \.php$ {
# 注释掉或删除fastcgi_pass指令
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
deny all;
return 403;
}
if ($request_uri ~ \.php$) {
return 403;
}
修改配置后需要重新加载Nginx:
sudo nginx -t && sudo systemctl reload nginx
如果您完全不需要PHP支持,可以直接删除或注释掉server块中所有与PHP相关的配置。
对于生产环境,建议使用方法1或方法3,它们更精确且性能更好。
确保您的配置不会意外阻止其他合法请求,修改前建议先测试配置语法。