在我输入网址http://test.com/test/
之前我曾经看过这个,而不是给我一个html页面,它给了我一个“文件浏览器”界面来浏览给定位置的所有文件。 / p>
我认为它可能是一个可以在位置上下文中启用的nginx模块。
nginx.conf
文件:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 122.97.248.252;
location /test {
root /home/yozloy/html/;
autoindex on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
更新error.log
2012/05/19 20:48:33 [错误] 20357#0:* 72 open()“/ home / yozloy / html / test”失败(2:没有这样的文件或目录),客户端:125.43。 236.33,服务器:122.97.248.252,请求:“GET / test HTTP / 1.1”,主持人:“unicom2.markson.hk
我必须误解位置/test
的意思,我认为这意味着当我输入http://example.com/test时,它会访问根词典/home/yozloy/html/
答案 0 :(得分:91)
你应该试试HttpAutoindexModule。
将自动索引选项设置为on
。它默认是关闭的。
您的示例配置应该没问题
location /{
root /home/yozloy/html/;
index index.html;
autoindex on;
}
如果没有自动索引选项,对于没有/
文件的目录上以index.html
结尾的请求,您应该收到错误403。使用此选项,您应该获得一个简单的列表:
<html>
<head><title>Index of /</title></head>
<body bgcolor="white">
<h1>Index of /test/</h1><hr><pre><a href="../">../</a>
<a href="test.txt">test.txt</a> 19-May-2012 10:43 0
</pre><hr></body>
</html>
修改:更新了列表以删除对测试的任何引用
答案 1 :(得分:14)
将自动索引选项设置为on
。它默认是关闭的。
您的配置文件(vi /etc/nginx/sites-available/default
)应该是这样的
location /{
... ( some other lines )
autoindex on;
... ( some other lines )
}
将自动索引选项设置为on
。它默认是关闭的。
您的配置文件(vi /etc/nginx/sites-available/default
)
应该是这样的。
将path_of_your_directory
更改为您的目录路径
location /path_of_your_directory{
... ( some other lines )
autoindex on;
... ( some other lines )
}
希望有所帮助......
答案 2 :(得分:4)
您需要创建/home/yozloy/html/test
文件夹。或者您可以使用alias
,如下所示:
location /test {
alias /home/yozloy/html/;
autoindex on;
}
答案 3 :(得分:2)
我已多次尝试过。
最后我只是将autoindex on;
放在http
但server
之外,并且没问题。
答案 4 :(得分:2)
所有答案均包含部分答案。让我尝试将所有内容合而为一。
在新安装的nginx服务器上快速设置“文件浏览器”模式:
编辑ngingx的默认配置:
sudo vim /etc/nginx/sites-available/default
在配置部分添加以下内容:
location /myfolder { # new url path
alias /home/username/myfolder/; # directory to list
autoindex on;
}
在此处创建文件夹和示例文件:
mkdir -p /home/username/myfolder/
ls -la >/home/username/myfolder/mytestfile.txt
重新启动nginx
sudo systemctl restart nginx
检查结果:http://<your-server-ip>/myfolder
例如http://192.168.0.10/myfolder/
答案 5 :(得分:1)
只需在location / {
location /your/folder/to/browse/ {
autoindex on;
}