我需要停止网站上图像目录的目录列表 . 我正在为网站上的图像和javascripts配置cookieless域 . 我已完成CNAME配置并在httpd.conf文件中添加了下面的虚拟主机配置 . 但是,如果我直接访问这个无cookie域,它列出整个目录内容 . 如何解决这个问题呢?
<VirtualHost ipaddr:80>
ServerAdmin webmaster@site.com
ServerName imgs.site.com
ServerAlias www.imgs.site.com
DocumentRoot /usr/tomcat/webapps/site/images
<Directory /usr/tomcat/webapps/site/images>
Options -Indexes FollowSymLinks
AllowOverride none
</Directory>
CustomLog logs/imgs.site.com_access_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
ErrorLog logs/imgs.site.com_error_log
</VirtualHost>
<VirtualHost ipaddr:80>
ServerAdmin webmaster@site.com
ServerName imgs.site.com
ServerAlias www.imgs.site.com imgs.site.net
DocumentRoot /usr/tomcat/webapps/site/images
<Directory /usr/tomcat/webapps/site/images>
Options -Indexes FollowSymLinks
AllowOverride none
</Directory>
CustomLog logs/imgs.site.com_access_log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
ErrorLog logs/imgs.site.com_error_log
</VirtualHost>
3 回答
一个快速的解决方法是将
index.html
文件放入具有任意内容的目录中 . 索引将显示此文件的内容而不是目录列表 .我认为
Directory
指令中的路径被附加到DocumentRoot
,所以你实际上命令Apache不要索引/usr/tomcat/webapps/site/images/usr/tomcat/webapps/site/images
. 请尝试以下配置:这应该禁用
/usr/tomcat/webapps/site
下所有文件夹中的目录索引,例如 ./usr/tomcat/webapps/site/images/
,/usr/tomcat/webapps/site/fubar/
等 .从Apache 2.0和Apache 2.2 docs:
在Apache 2.4这将是......
所以,你基本上需要
FollowSymLinks
前面的+
(或者如果要覆盖所有先前定义的选项,则完全删除-Indexes
参数) . 例如: