Nginx根目录到目录中的一个文件,并拒绝所有其他文件

Nginx根目录到目录中的一个文件,并拒绝所有其他文件,nginx,Nginx,我有一个应用程序文件夹,其中包含许多开发文件,其中有一个index.html文件 我希望nginx只提供这个index.html: domain.com/ -> app/index.html server { listen 80; server_name domain.com; root /home/app; location / { deny all;

我有一个应用程序文件夹,其中包含许多开发文件,其中有一个index.html文件

我希望nginx只提供这个index.html

domain.com/ -> app/index.html
server {
        listen   80;
        server_name domain.com;

        root /home/app;

        location / {
                deny all;
                location ~ \.(html)$ {
                        allow all;
                }
        }
}
拒绝所有其他文件/子文件夹

这是我现在所拥有的,但它只适用于domain.com/index.html

domain.com/ -> app/index.html
server {
        listen   80;
        server_name domain.com;

        root /home/app;

        location / {
                deny all;
                location ~ \.(html)$ {
                        allow all;
                }
        }
}

有什么想法吗?谢谢。

有很多方法可以构造此结构,但是精确的匹配位置对于提取单个URI非常有用。如果默认情况下拒绝访问,我使用空目录(
/var/empty
):

root /var/empty;
location = / {
    root /home/app;
    rewrite ^ /index.html break;
}
有关详细信息,请参阅