apache開啟瀏覽目錄功能
主設定檔 httpd.conf 中修改:
1)添加支援模組。
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
注意一定要擁有這兩個模組,否則下面的配置不生效,返回404 Not Found錯誤。
這個模組也有可能直接編譯到Apache核心檔案httpd中去了。
2)為DocumentRoot目錄添加Options Indexes,即可組建目錄。
<Directory "/htdocs">
Options Indexes FollowSymLinks
</Directory>
這裡Indexes控制是否開啟瀏覽目錄,如果要關閉瀏覽目錄,使用
Option -Indexes
3)載入 httpd-autoindex.conf 配置
Include conf/extra/httpd-autoindex.conf
如果要關閉和的話我們可以參考下面關於關閉Apache的瀏覽目錄功能
一、預設情況
預設情況下,Apache的設定檔/etc/httpd/conf/httpd.conf中有如下參數:
引用
Options Indexes FollowSymLinks
......
也就是說,在目錄下沒有預設首頁面(如:index.html index.php等)時,可以讓使用者直接瀏覽web目錄架構,這可能會導致一些重要的目錄或設定檔被公開。
通常在Web應用上也會做一些安全考慮,以Bo-Blog為例,一些目錄下會有類似的檔案:
引用
# cat inc/index.php
die ('Access Denied');
這樣,可以避免使用者直接瀏覽該目錄時,看到整個目錄結構。但如果訪問它下面的子目錄就沒什麼作用了:
所以,這還是不太安全。
二、修改設定檔
安全起見,我建議還是把Indexes選項關閉比較好,方法有兩種:
1、全域關閉
修改上面提到的設定檔/etc/httpd/conf/httpd.conf,把:
引用
Options Indexes FollowSymLinks
改為:
引用
Options -Indexes FollowSymLinks
重啟httpd服務即可,這樣可以把所有網站的Indexes選項都取消。
2、修改.htaccess檔案
如需要針對特定的網站取消該功能,可以先開啟.htaccess支援,修改/etc/httpd/conf/httpd.conf:
引用
......
AllowOverride None
......
修改為:
引用
......
AllowOverride All
......
然後,在各網站的主目錄下寫入一個.htaccess檔案,內容有:
引用
# head .htaccess
Options -Indexes
RewriteEngine on
RewriteBase /
......
儲存後馬上生效。