萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> Apache索引目錄浏覽的學習筆記

Apache索引目錄浏覽的學習筆記

 在浏覽一些鏡像文件站的時候,會發現網站目錄是可以浏覽文件(夾)列表的。舉兩個例子:網易開源鏡像;Ubuntu。只要 Web 服務器是基於 Apache 的網站都可以開啟或禁止索引(目錄浏覽),那麼如何實現禁止和開啟顯示目錄索引呢?


一、禁止 Apache 顯示目錄索引
方法1、修改Apache配置文件[httpd.conf]
(1)目錄配置

<Directory /home/www.111cn.net/teddysun">
#Options Indexes FollowSymLinks
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

將 Options Indexes FollowSymLinks 改成 Options FollowSymLinks

即可以禁止 Apache 顯示該目錄結構。
解釋:Indexes 的作用就是當該目錄下沒有指定 index.html 文件時,就顯示目錄結構,去掉 Indexes ,Apache 就不會顯示該目錄的列表了。

(2)虛擬機配置

<virtualhost *:80>
ServerName  domain
ServerAlias  domains 
DocumentRoot  /home/www/teddysun
CustomLog /home/www/teddysun/logs/access.log combined
DirectoryIndex index.php index.html
<Directory /home/www/teddysun>
Options +Includes -Indexes
AllowOverride All
Order Deny,Allow
Allow from All
</Directory>
</virtualhost>

此處,在Indexes前面加上 – 符號也是可以禁止 Apache 顯示該目錄結構。
解釋:在Indexes前,加 + 代表允許目錄浏覽;加 – 代表禁止目錄浏覽。

方法2、修改.htaccess文件
在網站根目錄修改 .htaccess 文件,增加如下代碼(若無.htaccess 文件則新建):

<Files *>
Options -Indexes
</Files>

解釋:在Indexes前,加 + 代表允許目錄浏覽;加 – 代表禁止目錄浏覽。

二、開啟並定制 Apache 顯示目錄索引樣式

(1)修改Apache配置文件[httpd.conf]

<Directory /home/www/teddysun">
Options Indexes FollowSymLinks
IndexStyleSheet "/css/style.css"
IndexOptions FancyIndexing HTMLTable ScanHTMLTitles FoldersFirst NameWidth=85 DescriptionWidth=128 IconWidth=16 IconHeight=16 VersionSort Charset=UTF-8
AllowOverride all
Order allow,deny
Allow from all
</Directory>

解釋:在 Options 選項中寫入 Indexes,即是打開了目錄浏覽功能。CentOS6中通過yum安裝的 Apache 默認是打開了目錄浏覽的,但是使用浏覽器訪問首頁,卻不能顯示出目錄,原因在於/etc/httpd/conf.d/welcome.conf文件中的 Indexes 前面有個 – 符號,即 Apache 默認禁止了首頁的目錄浏覽功能。

(2)自定義索引(目錄浏覽)樣式
上一步的 IndexOptions 選項可以自定義索引(目錄浏覽)樣式,如下:
FancyIndexing 開啟目錄浏覽修飾
HTMLTable 此選擇與FancyIndexing一起構建一個簡單的表來進行目錄浏覽修飾。
ScanHTMLTitles 搜索HTML標題
FoldersFirst 目錄優先排在前面
NameWidth=85 表示文件名可以最多顯示85個英文字符
DescriptionWidth=128 表示描述可以顯示的字符數
IconWidth=16 Icon的寬度(像素)
IconHeight=16 Icon的高度(像素)
VersionSort 版本排序,如果沒有此項,將按照拼音順序排序
Charset=UTF-8 字符集

其他諸如:
AddAltClass、IconsAreLinks、IgnoreCase、IgnoreClient、ShowForbidden、SuppressColumnSorting、SuppressDescription、SuppressHTMLPreamble、SuppressIcon、SuppressLastModified、SuppressRules、SuppressSize、TrackModified、Type等請閱讀參考鏈接。

copyright © 萬盛學電腦網 all rights reserved