Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件,在location server 或 http段中加入
autoindex on;
另外两个参数最好也加上去:

autoindex_exact_size off;
默认为on,显示出文件的确切大小,单位是bytes。
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_localtime on;
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间

1、整个虚拟主机开启目录流量

在server段添加

location / {

autoindex on;

autoindex_localtime on; #之类的参数写这里

}

2、单独目录开启目录流量

2.1:直接二级目录开启目录流量

location /down/ {

autoindex on;

}

2.2:虚拟目录开启目录流量

location /down/ {

alias /home/wwwroot/lnmp/test/;

autoindex on;

}

详细参照:http://nginx.org/en/docs/http/ngx_http_autoindex_module.html

需要注意root和alias的区别:

alias 设置的目录是准确的,可以理解为linux的 ln命令创建软连接,location就是软连接的名字。如上面2.2例子访问
http://域名/down/vpser.txt 是直接访问的/home/wwwroot/lnmp/test/下面的vpser.txt文件。

root
设置的目录是根目录,locatoin里所指定名称的目录,必须在root设定下的目录有相同名字的目录。如果将上面2.2例子里的alias改成root 访问
http://域名/down/vpser.txt 是直接访问的的/home/wwwroot/lnmp/test/down/
目录下的vpser.txt文件。

需要注意的是alias目录必须要以 / 结尾且alias只能在location中使用。

如果想希望做出漂亮的目录列表,支持header,footer则可以安装三方插件:

http://wiki.nginx.org/NginxNgxFancyIndex

重启nginx,使其生效。

最后修改:2022 年 02 月 24 日
如果觉得我的文章对你有用,请随意赞赏