个性化Apach2目录列表,主要取决于对modautoindex模块中的各种指令的使用和配合。可以去先阅读一下Apache2.0手册中的modautoindex模块文档。
文档地址: http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html
在开始之前,请看一个个性化目录列表的演示地址: http://nanu.8866.org/download
下面,我们就开始动手:
对需要个性化的目录进行定制:
<Directory "/www/download"> Options Indexes FollowSymlinks IndexOptions FancyIndexing ScanHTMLTitles NameWidth=25 DescriptionWidth=128 VersionSort FoldersFirst IndexIgnore favicon.ico header.html footer.html images HeaderName header.html ReadmeName footer.html AddDescription “Qmail安装包” qmail.tar.gz AddDescription “Putty0.58” putty.exe AddDescription “我的MSN头像:P” msn.gif IndexOrderDefault Ascending Name AllowOverride None Order allow,deny Allow from all </Directory>
部分指令说明:
ScanHTMLTitles:如果目录中含有HTML文件,则Apache会自动读取HTML文件的< title>……部分,用HTML文件的标题作为Description(描述)显示在列表目录中的 Description部分。。(注意:加载该指令会加大CPU的负荷!)
NameWidth=25 :指定目录列表可以显示最长为25字节的文件/目录名,如果使用*来做值,会自适应到最长文件名。
DescriptionWidth=128:指定目录列表可以显示最长为128字节的文件/目录描述内容。
VersionSort:如果目录中含有同一文件的不同版本,则Apache会对该文件按照版本号自动排序。
FoldersFirst:最先列出文件夹会使显示效果更好看一些吧!
IndexIgnore:在它后面设定的文件/目录不会在目录列表中显示。
HeaderName:指定该目录列表的header模板,指定一个html文件后,Apache会用这个网页替换掉默认目录列表上面呆板的Index of …..而显示出个性化的头网页。(注意:文件路径是相对于列表目录的根而言的,并不是相对于系统根或者网站根而言的!)
ReadmeName:指定该目录列表的footer模板,指定一个html文件后,Apache会在目录列表的底部加载这个网页。(注意:文件路径是相对于列表目录的根而言的,并不是相对于系统根或者网站根而言的!)
AddDescription:如果你想为某个文件设置一个Description(描述)的话,就使用这个指令,格式是AddDescription “描述” 文件名 。
IndexOrderDefault Ascending Name:指定目录列表的排序方式为按名称排序。
当然,还可以定制很多其他的内容,包括可以为每一个文件设定一个图标等等,去读文档吧。
这两个文件是列表目录的头网页和尾网页,也是个性化的关键。其实这部分和Apache水平已经没有什么关系了,主要还是看你制作网页水平如何了,呵呵。
这里给出两个文件的格式:
header.html:
<!-- 个性化内容开始 --> 可以在这里加入个性化内容,图片、FLASH、表格等等,随意啦! <!-- 个性化内容结束 --> <!-- 嵌入列表目录 --> <table> <td> <tr>
footer.html:
</tr> </td> </table> <!-- 目录列表嵌入结束 --> <!-- 个性化内容开始 --> 可以在这里加入个性化内容,图片、FLASH、表格等等,随意啦! <!-- 个性化内容结束 -->
可以看出,其实个性化的原理就是把Apache的目录列表嵌在了header.htm的<\table><\tr><\td>与footer.html的<\/td><\/tr><\/table>之间,两个文件的其他部分都可以自定义内容的。
建立好这两个文件后,就可以重启apache,看看自己的定制的目录有多漂亮吧!
然后再看看Apache默认的目录列表,想吐了…… 呵呵!
