自宅の 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つは、ReadmeName
(apache
例: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 に含まれています。