我的服务器上有 3 个虚拟主机,我希望其中一个启用目录列表。这是它的配置文件:
<VirtualHost *:80>
ServerName me
ServerAdmin me
DocumentRoot /var/www/test.host.net
<Directory "/var/www/test.host.net">
Options All +Indexes
AllowOverride all
</Directory>
#<Directory /var/www/>
# Options +Indexes FollowSymLinks MultiViews
# AllowOverride all
# Order allow,deny
# allow from all
#</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .cgi
Order deny,allow
Deny from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/errors_from_this_host.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug
CustomLog ${APACHE_LOG_DIR}/access_to_this_host.log combined
</VirtualHost>
该文件确实有 /var/www/ 的目录处理,但由于它已被注释掉,我相信它已被禁用。
我在 /var/www/test.host.net 中有一个 .htaccess 文件,其中包含选项+索引,以防万一。
错误日志:
[error] [client dumb] Directory index forbidden by Options directive: /var/www/test.host.net/
Debian 7 Apache 2.2 上出现问题
欢迎所有建议。
答案1
我找到了答案。
永远不要在启用站点的目录中留下任何文件 - 我有一个旧的虚拟主机配置文件,保存为 host.bck,由于某种原因,Apache 正在读取该文件,并且它为所有虚拟主机执行了其中的配置。基本上,当我发现这一点时,我的配置文件根本不起作用。