質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.00%

nginxでDirectoryIndexみたいのをhtml上で表示したい。

受付中

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 536

RuqenRuqen

score 4

前提・実現したいこと

nginxでDirectoryIndexみたいのをhtml上で表示したい。
このように実装したいと思っています。

<html>
<head>
<title>TESTPAGE</title>
</head>

<br>TEST<br/>
[index.htmlがあるフォルダーのディレクトリを表示(選択してそのファイルを直リンクで開く)]

</body>
</html>

初心者でお手数ですが、よろしくお願いします。

追記
http://b.fcsys.org/2015/07/enable-customization-index-page-for-nginx.html
こちらのサイトを参考にしてみたのですが、 https://imgur.com/a/5jAjBEw 404 Not Foundと表示されてしまいます。ファイルはしっかりセットしてあります。 https://imgur.com/a/OdoSUUL 

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##

# Default server configuration
#
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root /var/www/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
        fancyindex on;                # Enable FuncyIndex
        fancyindex_exact_size off;        # off: Use GB / MB / KB etc.
        fancyindex_localtime on;        # on: Use server local time
        fancyindex_header /etc/nginx/header.html;    # Customization Header Code
        fancyindex_footer /etc/nginx/footer.html;    # Customization Footer Code
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    include snippets/fastcgi-php.conf;
    #
    #    # With php7.0-cgi alone:
    #    fastcgi_pass 127.0.0.1:9000;
    #    # With php7.0-fpm:
    #    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny all;
    #}
}


# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#    listen 80;
#    listen [::]:80;
#
#    server_name example.com;
#
#    root /var/www/example.com;
#    index index.html;
#
#    location / {
#        try_files $uri $uri/ =404;
#    }
#}


追記
絶対URLで入力しましたがエラーは変わりませんでした。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2019/03/24 20:21

    目的は何でしょうか。
    どのように表示したいのか図示いただけますか?

    キャンセル

  • m.ts10806

    2019/03/24 20:22

    あと、ご自身で何か調べたり試したりしたことはありませんか?それも追記されたほうが良いです。この内容だけだと要件が不明瞭な上に丸投げなので。

    キャンセル

  • キャンセル

  • RuqenRuqen

    2019/03/24 20:40

    autoindex ではなく、 html上でDirectoryIndexみたいのを表示したいのです。

    キャンセル

回答 1

+1

ご質問の機能はDirecoryIndexではなく、fancy indexと呼ばれるもののことではないでしょうか。

このページにnginxのfancyindexモジュールの解説があるようですが、一瞥した限りではnginxの最近のバージョンに対応しているかどうか不明です (わたしは試していません)。

これでうまくいかないようなら、「nginx fancy index」で検索するとなにか見つかるかもしれませんね。

追記への回答

ネット上で拾った設定例を参考にするのはいいのですが、ただコピペするのではなく、設定内容を公式のマニュアル (上述) と照らし合わせて確認しましょう。

マニュアルを日本語訳している人もいますね。
http://mogile.web.fc2.com/nginx_wiki/nginx_wiki201510/modules/fancy_index.html

「ディレクティブ」の節にfancyindex_*という設定ディレクティブの説明があります。fancyindex_footerの設定内容については次のような注意があります。

独自のヘッダ/フッターを挿入する場合、サブリクエストは潜在的にそれらにとってどのようなURLもソースとして使用できるように発行されます。外部URLでも動作するでしょうが、内部URLだけがサポートされています。(…)

「サブリクエスト」についてはマニュアルの他の場所で説明があるので調べてください。結論だけ言うと、fancyindex_headerfancyindex_footerにはファイルシステム上のファイルのパスを指定するのではありません。URL (絶対URLか、ドキュメントルートからのパス) が書けます。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/03/25 11:15

    http://b.fcsys.org/2015/07/enable-customization-index-page-for-nginx.html
    こちらのサイトを参考にしてみたのですが、 https://imgur.com/a/5jAjBEw 404 Not Foundと表示されてしまいます。ファイルはしっかりセットしてあります。 https://imgur.com/a/OdoSUUL https://imgur.com/a/WcxgjNf

    キャンセル

  • 2019/03/25 12:09

    追加質問は質問文に追記してください。コメントは隠れてしまうので、後でこの質問ページの内容を参考にする人が気づきません。
    それと、画像でないものを画面キャプチャで見せないでください。もしも間違いがあった場合、それを指摘するひとは全部打ち直さなければなりません。設定を質問文に書くときはテキストにして、前後を「```」の行ではさんでください。

    キャンセル

  • 2019/03/25 19:26

    記入いたしました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.00%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る