首页  >  问答  >  正文

nginx目录列表和目录访问权限设置

在看ThinkPHP文档时,看到下面这段文字:为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加。

我是比较讨厌多余的index.html,所以想直接关掉目录浏览权限,那么问题来了,在nginx怎样关闭和开启这个权限呢?

滿天的星座滿天的星座2713 天前611

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-05-16 17:23:50

    以下是我百度找到的答案:

    1.目录列表(directory listing)

    nginx让目录中的文件以列表的形式展现只需要一条指令

    autoindex on;

    autoindex可以放在location中,只对当前location的目录起作用。你也可以将它放在server指令块则对整个站点都起作用。或者放到http指令块,则对所有站点都生效。

    下面是一个简单的例子:

    server {
            listen   80;
            server_name  domain.com www.domain.com;
            access_log  /var/...........................;
            root   /path/to/root;
            location / {
                    index  index.php index.html index.htm;
            }
            location /somedir {
                   autoindex on;
            }
    }

    2.nginx禁止访问某个目录

    跟Apache的Deny from all类似,nginx有deny all指令来实现。

    禁止对叫dirdeny目录的访问并返回403 Forbidden,可以使用下面的配置:

    location /dirdeny {
          deny all;
          return 403;
    }

    回复
    0
  • 取消回复