今天才知道,原来Apache的索引(目录浏览)样式是可以定义的,下面简单介绍一下方法。
1,开启Apache索引(目录浏览)功能
编辑httpd.conf文件:
[code lang=”plain”]
<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文件:
[code lang=”plain”]
<Directory "/var/www/html">
……
AuthType basic
AuthName "Authorization"
AuthUserFile /var/www/html/.htpasswd
Require user user1
……
</Directory>
其中,AuthName是弹出的提示文本,/var/www/html/.htpasswd是记录用户名与密码的文件,equire user指允许登陆的用户名。
管理登陆用户
[code lang=”plain”]
$ 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 #删除用户