Apache が完全なディレクトリをリストしない

Apache が完全なディレクトリをリストしない

自宅の Linux コンピュータで Apache を一時的なサーバーとして使用し、友人間でいくつかのファイルを共有しています。そのため、これらのファイルとサブディレクトリのディレクトリ リストが必要です。ディレクトリ パラメータにインデックス オプションがあり、ディレクトリが表示されます。問題は、サブディレクトリが 1 つしか表示されず、他のサブディレクトリがリストされないことです。すべてのファイルとディレクトリの権限と所有権は同じですが、何も変わりません。隠しディレクトリに強制アクセスしようとすると、必要な権限がないというメッセージが表示されます。何か助けになることはありませんか?

Directory directive from conf file:
    <Directory />
    Options Indexes FollowSymLinks
    AllowOverride None
    </Directory>
Permissions of Directory:
    drwxr-xr-x.  5 apache users 4096 Jan 22 17:17 DND
    drwxr-xr-x. 11 apache users 4096 Jan 16 08:16 Pathfinder
    -rwxr-xr-x.  1 apache users  119 Jan 19 17:30 README

Pathfinder とその中のすべてが表示され、README は URL 経由でプッシュした場合にのみ機能します。DND は表示されず、URL 経由でプッシュしても機能しません。

答え1

ホストされたソリューションでも同じ問題が発生しているため、「マスター」Apache 構成ファイルにアクセスできません。ただし、.htaccessサブフォルダーに配置することは許可されており、Options +Indexesそこにもアクセスできます。ただし、そうした場合でも、という名前のファイルはREADMEリストされませんが、という名前のファイルはリストReadmeされます。

READMEこれは、おそらくがトップレベルの Apache セットアップのどこかで無効にされており、おそらく 経由で無効になっていることを示していますIndexIgnore。その問題は次のようです:

Re. htaccess でデフォルトのインデックスを復元できますか - WebmasterWorld の PHP サーバーサイド スクリプト フォーラム

IndexIgnore を設定すると、サブフォルダーからそれを上書きすることはできません。 allow,deny の順序を使用してみてください。

...そして私はこれを試してみました:

Options +Indexes
<Limit GET POST>
  order deny,allow
  deny from all
  allow from all
</Limit>
<Files "README">
  order deny,allow
  deny from all
  allow from all
</Files>

ですが、名前の付いたファイルではそれも役に立たないようですREADME。少なくとも、私が持っている限られた設定の可能性では役に立たないようです。もう1つは、ReadmeNameapache例:apache2 - Apache のデフォルトの ReadmeName を変更する - Server Fault); これも問題を引き起こす可能性がありますか? 同様の質問:http - Apache はディレクトリ一覧に README.TXT ファイルを表示しません。 どうすれば有効にできますか? - Stack Overflow

とにかく、私にとっての簡単な解決策は、ファイル名をすべて大文字からREADME大文字混合に変更することです...

答え2

おそらく Linux ディストリビューションによって異なりますが、Centos 6.X では、デフォルトの Apache 構成に、README で始まるすべてのファイルを除外する IndexIgnore ディレクティブが /etc/httpd/conf/httpd.conf に含まれています。

関連情報