web-dev-qa-db-ja.com

ディレクトリの参照を無効にする方法

/ galeriasフォルダおよびすべてのサブディレクトリのディレクトリ参照を無効にしたい

/ galerias/409のインデックス

* Parent Directory
* i1269372986681.jpg
* i1269372986682.jpg
* i1269372988680.jpg
207
arthurprs

次のようにして.htaccessファイルを作成します。

Options -Indexes

もしあなたが.htaccessを持っていても持っていなくてもApacheの設定がすべての人を持っていなければならないなら、それは2番目のオプションです。

それで、下記のコマンドでApache configを開く必要があります。 vim /etc/httpd/conf/httpd.conf

行を見つけます Options Indexes FollowSymLinks

これで変わる

Options FollowSymLinks

ファイルを保存して終了し、このコマンドでApacheサーバーを再起動します。

Sudo service httpd restart

367
stimpie

これを行う最良の方法は、WebサーバApache2でそれを無効にすることです。私のUbuntu 14.X - から/etc/Apache2/Apache2.confを開きます

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

それからApacheを再起動します。

Sudo service Apache2 restart

これにより、Apache2が提供するすべてのフォルダからのディレクトリ一覧が無効になります。

267
Dung

前述の2つの方法(.htaccessファイルの編集/ etc/Apache2/Apache2.confまたは追加オプション - インデックス)以外に、もう1つの方法があります。

a2dismod autoindex

その後Apache2サーバーを再起動します

Sudo service Apache2 restart
34
justyy

これで.htaccess内の/galeriasファイルを編集/作成します。

Options -Indexes

ディレクトリの参照は mod_autoindex モジュールによって提供されます。

27

一覧表示したくない各ディレクトリにindex.htmlという名前の空のファイルを配置できます。これにはいくつかの利点があります。

  • それは(通常)サーバー上でゼロ設定を必要とします。
  • サーバー管理者がサーバー構成で "AllowOverride None"を使用することを決定しても、機能し続けます。 (あなたが.htaccessファイルを使用する場合、これはあなたのユーザのためのたくさんの "Error 500 - internal server error"メッセージを導くことができます!).
  • また、Apacheの設定に煩わされることなく、ファイルをあるサーバーから別のサーバーに移動することもできます。

理論的には、自動インデックス付けは別のファイルによって引き起こされる可能性があります(これはDirectoryIndexオプションによって制御されます)が、実際にはまだこれに遭遇していません。

21
Martin J.H.

重要なことの1つは、安全なApache Webサーバーを設定することです。ディレクトリ参照を無効にすることです。デフォルトでApacheにはこの機能が有効になっていますが、本当に必要でない限り無効にするのは常に良い考えです。 Apacheフォルダ内のhttpd.confファイルを開き、次のような行を見つけます。

Options Includes Indexes FollowSymLinks MultiViews

wordのインデックスを削除してファイルを保存します。 Apacheを再起動してください。それでおしまい

16

これを解決するためにhttpd.confファイルを変更することを選択し、複数のOptionsディレクティブがある場合は、各ディレクティブの前に - または+を追加する必要があります。例:

オプション-Indexes + FollowSymLinks

5
George

これは答えではなく、私の経験だけです。

私のUbuntu 12.04 Apache2では、Apache2.confでもhttpd.confでもIndexesが見つかりませんでした。幸運にも、私はsites-available/defaultで見つけました。それを削除した後、今それはディレクトリの一覧が表示されません。 sites-available/default-sslのためにそれをしなければならないかもしれません。

3
packetie

.htaccessファイルを開き、以下のコードを入力します。

Options -Indexes

ファイルが空白行で終わるように、 "Options -Indexes"という単語を入力した後、必ずENTERキー(またはMacを使用している場合はRETURNキー)を押してください。

2
zish

コード内でこれを試してください。

IndexIgnore *
1
زياد

@ GauravKachhadiyaの回答を完成させるには:

IndexIgnore *.jpg

「隠す--- 。jpg拡張子ファイルをインデックスから除外する」という意味です。

IndexIgnoreディレクティブは、ワイルドカード表現を使用してディレクトリやファイルと照合します。

  • 次の例では、ディレクトリリストをオフにします。インデックスにファイルやディレクトリは表示されません。

    インデックス無視*

または、ディレクトリの一覧で、特定のファイルを隠したい場合は、

IndexIgnore *.php

* .php =>は、任意のcharで始まり、.phpで終わる文字列と一致します。

上記の例は、.phpで終わるすべてのファイルを隠します。

1
starkeen

これを.htaccessで試してください。

IndexIgnore *.jpg
0