在浏览一些镜像文件站的时候,会发现网站目录是可以浏览文件(夹)列表的。举两个例子:网易开源镜像;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等请阅读参考链接。

<参考:http://www.3lian.com/edu/2014/01-11/123660.html>

Apache索引目录浏览的学习笔记的更多相关文章

  1. 关闭或者开启apache的目录浏览

    为了安全或者方便需要关闭或者开启apache的目录浏览   关闭目录浏览    修改http.conf 文件    Options Indexes FollowSymLinks     改为      ...

  2. 【目录】Python学习笔记

    目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...

  3. apache去掉目录浏览

    apache去掉目录浏览 apache默认开启目录浏览的,这样大大降低了我们网站的安全,下面是关闭浏览目录: 要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即 ...

  4. Nginx 和 Apache 开启目录浏览功能

    1.Nginx 在相应项目的 Server 段中的 location 段中,添加 autoindex on.例如: server { listen ; server_name www.dee.prac ...

  5. nginx和apache配置目录浏览功能

    今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...

  6. Ubuntu apache 禁止目录浏览

    $ sudo vim /etc/apache2/sites-enabled/000-default 将Options后面Indexes前面加上"-"表示禁止目录浏览: <Di ...

  7. (目录)Fortran学习笔记:开坑!!!

    前言:因为某些原因,需要使用Fortran编写程序,记录下Fortran语法学习过程中的部分笔记.在此开坑记录,立下Flag,"希望年末能够更新完" Fortran 学习笔记 陈橙 ...

  8. 关闭Apache的目录浏览功能

    一.默认情况 默认情况下,Apache的配置文件C:\web\apache2.4\conf/httpd.conf中有如下参数: 引用 <Directory "/var/www/html ...

  9. Apache开启目录浏览功能的正确姿势

    部分代码是抄的网友的,哪儿抄的忘了,我是自己修改了点,并非我本人原创,觉得侵权联系我,立马删 在宝塔面板中,打开网站的设置,在配置文件那里添加如下内容 Directory "文件绝对路径&q ...

随机推荐

  1. DayuCMS 1.525 /include/global.func.php Foreground Arbitrary Code Execution

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://joychou.org/in ...

  2. iOS&Node 搭建WebSocketServer实现聊天

    Server端使用的是Node.JS里的一个Socket.io的模块 iOS客户端使用的是SocketIO和SBJson框架 作者的源码有些问题,我做了一些自定义的修改. 代码地址:https://g ...

  3. MOOCULUS微积分-2: 数列与级数学习笔记 7. Taylor series

    此课程(MOOCULUS-2 "Sequences and Series")由Ohio State University于2014年在Coursera平台讲授. PDF格式教材下载 ...

  4. 2016.8.14安装myplayer心得

    安装mplayer时,我有两个os是not found状态,我在其他地方找到后 which mplayer,找到mplayer的配置界面,找到not found的部分,并且从usr/lib中找到相应的 ...

  5. TypeScript Interface(接口)

    类型检查专注于解析值所具有的"形态",这是TypeScript的核心原则之一.这个有时候被称为"duck typing"或者"structural s ...

  6. CloseHandle(IntPtr handle)抛异常

    [DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] public static ext ...

  7. windows 环境下wamp环境的搭建。

    学php要搭建wamp环境,经常使用的是wampserver,也挺好用的,一键傻瓜式安装,挺省事的.但是程序员都是爱折腾的,总要求要有完美的环境.于是用来用去,觉得还是散装环境最能体现自己的逼格. 其 ...

  8. bootstrap学习总结-03 常用标签1

    1 显示段落 在HTML中,段落使用p标签包起来,重要的文字使用strong标签,em标签.<em> 标签告诉浏览器把其中的文本表示为强调的内容.对于所有浏览器来说,这意味着要把这段文字用 ...

  9. OpenGLES入门笔记二

    #import <UIKit/UIKit.h> #import <QuartzCore/QuartzCore.h> #import <OpenGLES/ES2/gl.h& ...

  10. the setting of serial port in the SecureCRT

    set echo(display characters which are sent) Line wrap        : press 'enter' to send '\r'(0x0D), go ...