nginx autoindex 仅主文件夹中的子文件夹

Ano*_*Joe 1 nginx

我的文件夹结构:

folder_main_x/
- folder_a
- folder_b
- folder_c
- ...

folder_main_y/
- folder_d
- folder_e
- folder_f
- ...

folder_main_z/
- folder_g
- folder_h
- folder_i
   - ...

 folder_main_.../
  -...
Run Code Online (Sandbox Code Playgroud)

他们应该可以在此域下访问:

www.sync_backup_something.com/media/

文件夹folder_main_xyz...应该是403(或者更好的是自定义错误消息),但是这些文件夹之外的所有其他内容都应该可以访问。

目前我试图用一些正则表达式来解决这个问题,但到目前为止还没有成功。

https://www.scalescale.com/tips/nginx/nginx-location-directive/

编辑:

这仅适用于一个特定文件夹:

location /test_media {

    root /var/www/html/;

    autoindex off;
    }

location /test_media/test_other {

    root /var/www/html/;

    autoindex on;
    }   
Run Code Online (Sandbox Code Playgroud)

但 test_other 应该是一些正则表达式,这样我就可以访问 test_media 后面的所有文件夹...

Ano*_*Joe 5

经过几个小时的测试和阅读无数关于正则表达式的评论:

    location /test_media {

        root /var/www/html/;

        autoindex off;
        }

    location ~ /test_media/test_other/(.+)  {

        root /var/www/html/;

        autoindex on;
        }   
Run Code Online (Sandbox Code Playgroud)

我仍然不知道它为什么起作用或者它是如何起作用的,但是好吧......它起作用了。