100

以前にURLを入力したときにこれを見たことがhttp://test.com/test/あれば、htmlページを表示する代わりに、指定された場所にあるすべてのファイルを参照するためのインターフェイスのような「ファイルブラウザ」が表示されます。

ロケーションコンテキストで有効にできるのは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/

4

6 に答える 6

138

ngx_http_autoindex_moduleを試してください。

autoindexオプションをに設定しますonoffデフォルトです。

設定例は問題ないはずです

location /{ 
   root /home/yozloy/html/; 
   index index.html; 
   autoindex on;
}

オプションがないと、ファイルのないディレクトリでautoindex終わるリクエストに対してエラー403が発生するはずです。このオプションを使用すると、簡単なリストを取得する必要があります。/index.html

<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>

編集:テストする参照を削除するようにリストを更新しました

于 2012-05-19T07:32:39.830 に答える
26

すべての回答には、回答の一部が含まれています。すべてを1つにまとめてみましょう。

新しくインストールしたnginxサーバーでの「ファイルブラウザ」モードのクイックセットアップ:

  1. nginxのデフォルト設定を編集します:

    sudo vim /etc/nginx/sites-available/default
    
  2. 構成セクションに以下を追加します。

    location /myfolder {  # new url path
       alias /home/username/myfolder/; # directory to list
       autoindex on;
    }
    
  3. そこにフォルダとサンプルファイルを作成します。

    mkdir -p /home/username/myfolder/
    ls -la >/home/username/myfolder/mytestfile.txt
    
  4. nginxを再起動します

    sudo systemctl restart nginx
    
  5. 結果を確認http://<your-server-ip>/myfolderします:例:http: //192.168.0.10/myfolder/

ここに画像の説明を入力してください

于 2018-11-02T02:33:09.630 に答える
15

1.すべてのディレクトリのコンテンツを一覧表示します

自動インデックスオプションをに設定しますon。デフォルトではオフになっています。

構成ファイル(vi /etc/nginx/sites-available/default)は次のようになります

location /{ 
   ... ( some other lines )
   autoindex on;
   ... ( some other lines )
}

2.特定のディレクトリのみのコンテンツを一覧表示します

自動インデックスオプションをに設定しますon。デフォルトではオフになっています。

設定ファイル(vi /etc/nginx/sites-available/default
は次のようになります。ディレクトリパスに
変更しますpath_of_your_directory

location /path_of_your_directory{ 
   ... ( some other lines )
   autoindex on;
   ... ( some other lines )
}

それが役に立てば幸い..

于 2014-06-23T06:04:35.527 に答える
4

/home/yozloy/html/testフォルダを作成する必要があります。aliasまたは、以下のように使用できます。

location /test {
    alias /home/yozloy/html/;
    autoindex on;
}
于 2016-10-27T08:03:15.933 に答える
3

私は何度も試しました。

そしてついに私はちょうど入れautoindex on;ましhttpたが、外にありserver、それは大丈夫です。

于 2017-05-05T08:33:48.877 に答える
2

このセクションをサーバーに追加するだけです。location / {

location /your/folder/to/browse/ {
        autoindex on;
}
于 2016-09-02T07:03:15.580 に答える