.htaccessファイルがなく、vhost構成でOptions FollowSymLinks MultiViews Indexes
の後にAllowOverride None
が続くと、ディレクトリリストから404応答が返されます。ディレクトリ一覧に必要な特定のモジュールはありますか?
私のアクティブなモジュールは次のとおりです。
VHost設定:
<VirtualHost *:443>
# SSL
SSLEngine On
SSLCertificateKeyFile /dir/ssl/ssl.key
SSLCertificateFile /dir/ssl/ssl.crt
SSLSessionCacheTimeout 300
</VirtualHost>
<VirtualHost *:80 *:443>
ServerAdmin webmaster@localhost
ServerAlias domain.tld *.domain.tld
ServerName cl.domain.tld
# Just a few connection resets so that I don't waste my bandwidth on "hackers"
SecRuleEngine On
SecRule &REQUEST_HEADERS:User-Agent "@eq 0" drop,phase:1
SecRule REQUEST_HEADERS:User-Agent "^$" drop,phase:1
SecRule REQUEST_LINE "://" drop,phase:1
SecRule REQUEST_URI "^/admin" drop,phase:1
SecRule REQUEST_URI "^/mail" drop,phase:1
SecRule REQUEST_URI "^/webmail" drop,phase:1
SecRule REQUEST_URI \\\\ drop,phase:1
SecRule REQUEST_METHOD !^GET$ chain,drop,phase:1
SecRule REQUEST_METHOD !^HEAD$ chain
SecRule REQUEST_METHOD !^POST$
<Directory /dir/public_html/>
Options FollowSymLinks MultiViews Indexes
Order allow,deny
allow from all
</Directory>
DocumentRoot /dir/public_html
</VirtualHost>
<Directory>
でこれを使用してみてください
AllowOverride All
また、リクエストを行っているディレクトリでディレクトリの参照を無効にする.htaccessファイルがないことを確認します(そしてApacheを再起動します)。
更新:
mod_autoindex
モジュールがmod_dir
モジュールとともにロードされていることを確認してください。前者がないと、ディレクトリを参照するときにエラーが発生します。これを参照してください: Apache Module mod_autoindex