在看ThinkPHP文档时,看到下面这段文字:为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,当然安全文件的名称可以设置,例如你想给安全文件定义为default.html可以在入口文件中添加。
我是比较讨厌多余的index.html,所以想直接关掉目录浏览权限,那么问题来了,在nginx怎样关闭和开启这个权限呢?
以下是我百度找到的答案:
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; } }
跟Apache的Deny from all类似,nginx有deny all指令来实现。
禁止对叫dirdeny目录的访问并返回403 Forbidden,可以使用下面的配置:
location /dirdeny { deny all; return 403; }
以下是我百度找到的答案:
1.目录列表(directory listing)
nginx让目录中的文件以列表的形式展现只需要一条指令
autoindex on;
autoindex可以放在location中,只对当前location的目录起作用。你也可以将它放在server指令块则对整个站点都起作用。或者放到http指令块,则对所有站点都生效。
下面是一个简单的例子:
2.nginx禁止访问某个目录
跟Apache的Deny from all类似,nginx有deny all指令来实现。
禁止对叫dirdeny目录的访问并返回403 Forbidden,可以使用下面的配置: