虽然很多服务都迁移到Nginx了,但是一直不太满意Nginx的目录索引展示效果,所以目录索引的网站一直用的还是Apache。不过好像Nginx可以用fancyindex模块来定制所以的展示方式,http://mirrors.163.com 好像用的就是这个,不过还没有研究,有时间再看看吧。
最近忽然想要为目录展示的时候为一些特殊的目录加上一个说明,对目录做一个说明。所以需要定制下Apache的索引样式,下面记录下过程。
1.查看系统的Apache版本
1 2 3 |
|
2.到官网查看说明文档
Apache的目录索引(也就是目录浏览)功能是 mod_autoindex
模块实现的。 mod_autoindex
模块官方说明文档的网址是 http://httpd.apache.org/docs/2.4/mod/mod_autoindex.html
3.修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
4.配置文件部分指令说明
1. indexOptions
- 示例
1
|
|
- 可用参数
ScanHTMLTitles
- 搜索HTML标题,如果目录中含有HTML文件,则Apache会自动读取HTML文件的< title>……部分,用HTML文件的标题作为Description(描述)显示在列表目录中的 Description部分。。(注意:加载该指令会加大CPU的负荷!)NameWidth=*
- 文件命显示字节数指定目录列表可以显示最长为25字节的文件/目录名,如果使用*来做值,会自适应到最长文件名DescriptionWidth=128
- 描述显示字节数指定目录列表可以显示最长为128字节的文件/目录描述内容HTMLTable
- 允许HTML格式FoldersFirst
- 目录优先SuppressLastModified
- 在目录中禁止显示最近的修改时间VersionSort
- 版本排序 如果目录中含有同一文件的不同版本,则Apache会对该文件按照版本号自动排序 无须多说,加上吧。对于中文来说,是按照拼音顺序排序IconHeight=24 IconWidth=24
- 修改图标尺寸
2. IndexIgnore
索引排除语法 在它后面设定的文件/目录不会在目录列表中显示。
- 示例
1
|
|
header.html footer.html 这两个文件不会在索引(目录浏览)中出现。
3. HeaderName
指定该目录列表的header模板,指定一个html文件后,Apache会用这个网页替换掉默认目录列表上面呆板的Index of … 。
- 示例
1
|
|
4. ReadmeName
在索引列表底部嵌入文件 指定该目录列表的footer模板,指定一个html文件后,Apache会在目录列表的底部加载这个网页。
- 示例
1
|
|
5. IndexOrderDefault
指定目录列表的排序方式
- 示例
1
|
|
6. AddDescription
如果你想为某个文件设置一个Description(描述)的话,就使用这个指令,格式是AddDescription “描述” 文件名
7. AddIcon
定制文件图标
- 示例
1 2 |
|
Apache有一个专门负责文件类型的文件:mime.types,里面为每个文件进行了详细分类。比如有:application,image,audio,video。在里面狂搜了一遍,没有上面的那三个类型,于是在前面增加如下定义
1 2 |
|