
ディレクトリリストを明示的に設定するディレクティブはありますかインデックスファイルなし403 Forbidden に?デフォルトの動作では404が返されるためmod_dirインデックスファイルが見つかりません。
持っていないmod_autoindexが読み込まれ、Options
に設定されていますFollowSymLinks
。 を試してみました-Indexes
が、それでも 404 が返されました。
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
DirectorySlash On
</IfModule>
<Directory /var/www>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
関係ないかもしれませんが、私は Apache 2.4 を使用しています。
答え1
試行錯誤の末、自分の質問に答えます。この回答は Apache >= 2.0 に適用されるはずです。
要約すると、指令Indexes
のオプションにはOptions
mod_autoindexApache のデフォルトの動作についてさらに詳しく知りたい場合を除き、ここで読むのをやめてください。
より詳しい情報
鍵となるのはmod_autoindexロードされていない場合、設定はOptions -Indexes
効果がなく、404 を返します。これは、mod_dirDirectoryIndex
ディレクティブがインデックス ファイルを見つけられないため、当然のことです。ロードされている場合、設定はOptions -Indexes
403 を返します。
これは、Apache オプションのドキュメント下インデックスOptions
これはmod_core の一部なので少し混乱します。
インデックス
ディレクトリにマップする URL が要求され、そのディレクトリに DirectoryIndex (例: index.html) がない場合、mod_autoindex はディレクトリのフォーマットされたリストを返します。
...そして説明されたmod_autoindexページ:
Options +Indexes を使用すると、自動インデックス生成が有効になります。詳細については、Options ディレクティブを参照してください。
私のテストでは、.htaccess ファイルの有効化/無効化はAllowOverride
無関係であることが示されています。