定制Apache索引(目录浏览)样式

今天才知道,原来Apache的索引(目录浏览)样式是可以定义的,下面简单介绍一下方法。

1,开启Apache索引(目录浏览)功能
编辑httpd.conf文件:

<Directory "/var/www/html">
……
    Options Indexes FollowSymLinks
    IndexOptions FancyIndexing ScanHTMLTitles FoldersFirst NameWidth=85 DescriptionWidth=128 IconHeight=16 VersionSort Charset=UTF-8
……
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

在Options选项中写入Indexes,即是打开了目录浏览功能。我的CentOS6中安装好了Apache以后默认就是打开了目录浏览的。但是使用浏览器访问首页,却不能显示出目录,原因在于/etc/httpd/conf.d/welcome.conf文件中的Indexes前面有个减号,原来Apache默认禁止了首页的目录浏览功能。去掉减号,再重启Apache就OK了。

2,定义索引(目录浏览)样式
IndexOptions项定义了索引(目录浏览)的样式,其中:
ScanHTMLTitles 搜索HTML标题
FoldersFirst 目录排在前面
NameWidth=85 表示文件名可以最多显示85个字符
DescriptionWidth=128 表示描述可以显示的字符数
IconHeight=16 小图标的长度
VersionSort 版本排序,如果没有此项,将按照拼音顺序排序
Charset=UTF-8 字符集

3,目录加密
编辑httpd.conf文件:

<Directory "/var/www/html">
……

     AuthType basic
     AuthName "Authorization"
     AuthUserFile /var/www/html/.htpasswd
     Require user user1
……
</Directory>

其中,AuthName是弹出的提示文本,/var/www/html/.htpasswd是记录用户名与密码的文件,equire user指允许登陆的用户名。

管理登陆用户

$ htpasswd -c /var/www/html/.htpasswd user1  #回车会要求输入两遍密码,会清除所有用户!
$ htpasswd -bc /var/www/html/.htpasswd user1 password  #不用回车,直接指定user1的密码为password
$ htpasswd -b /var/www/html/.htpasswd user2 password   #添加一个用户,如果用户已存在,则是修改密码
$ htpasswd -D /var/www/html/.htpasswd user2  #删除用户

发表评论

电子邮件地址不会被公开。