Nginx块根目录

问题描述 投票:0回答:1

我有nginx。其中有一个网站,该网站的根目录是/ root / SITE在此SITE目录中,我有一些.php文件和少量目录。我如何才能拒绝仅访问/ root / SITE目录中的.php文件(我的意思是,不应阻止/ root / SITE .php文件中的少数几个目录)

php http nginx server-side
1个回答
1
投票

因此,您要求在Nginx配置中的此服务器块中,仅应允许PHP文件,其他所有内容都将获得404?有很多方法可以做到这一点(最好是在更特定于Nginx的地方询问)-这只是一种方法:

server {
    listen 80;
    server_name example.com;    
    root /var/www/html;

    location ~ \.php$ {
        include fastcgi.conf;
    }

    location / {
        return 404;
    }
}

注意,使用此方法,位置块的顺序很重要,因为第一个正则表达式位置会获胜。另外,如果出于某种原因需要支持~*文件,则可以使用不区分大小写的位置正则表达式运算符.PHP

请记住,这意味着将拒绝图像文件和CSS文件以及其他任何内容。如果将图像和样式表推送(或通过PHP创建),则只能提供它们。这也将不允许您通过浏览到没有尾随文件名的站点的根目录来访问index.php。

我建议您可能需要以其他更好的方式来满足需求。您应该更全面地说明您要做什么。您要为应用程序创建哪种安全性?

© www.soinside.com 2019 - 2024. All rights reserved.