Apache目录列表模式定制个性化界面

时间:2008-08-04 04:12:00   来源:  作者:  点击:次  出处:技术无忧
关键字:apache iIndexes

首先请参考:Mod_AutoIndex模块
http://w.yi.org/ftp/FAPM/apache/Apache2/zh/mod/mod_autoindex.html

以下只是展示了其中很少一部分设置的用法,要想获得更好的效果,请自己查看Mod_AutoIndex模块的文档。如果你没有时间,请联系我定制方案。谢谢。

演示:http://w.yi.org/ftp

<Directory "/path/to/you/folder">;

#开启目录列表索引模式
Options Indexes

#参数设置
IndexOptions FancyIndexing ScanHTMLTitles
                                NameWidth=128 DescriptionWidth=256
                                HTMLTable VersionSort FoldersFirst
#ScanHTMLTitles:搜索HTML标题
#NameWidth:文件命显示字节数
#DescriptionWidth:描述显示字节数
#HTMLTable:允许HTML格式
#FoldersFirst:目录优先

#索引排除选项
IndexIgnore header.html footer.html

#索引头部嵌入文件
HeaderName /data/index/header.html
#索引底部嵌入文件
ReadmeName /data/index/footer.html

#默认索引排序方式
IndexOrderDefault Ascending Date

#关闭服务器标志
ServerSignature Off                      

#目录索引文件
DirectoryIndex index.htm              
</Directory>;

以下配置文件内容,演示了如何把基本目录列表信息完整的嵌入到一个HTML网页之中
#索引头部嵌入文件 HeaderName /data/index/header.html
<!-- 个性化内容开始 -->可以在这里加入个性化内容,图片、FLASH、表格等等,随意啦! <!-- 个性化内容结束 --> <!-- 嵌入列表目录 --><table><td><tr>


索引底部嵌入文件 ReadmeName /data/index/footer.html

</tr>
   </td>
 </table>
 <!-- 目录列表嵌入结束 -->
 <!-- 个性化内容开始 -->
 可以在这里加入个性化内容,图片、FLASH、表格等等,随意啦!
 <!-- 个性化内容结束 -->
生成个性化的目录列表页面的过程 1、读取#索引头部嵌入文件HeaderName /data/index/header.html 并输出 2、服务器生成目录列表信息并输出
<table>;<tr>;<th>;<img src="/icons/blank.gif" alt="[ICO]" />;</th>;<th>;<a href="?C=N;O=A">;Name</a>;</th>;<th>;<a href="?C=M;O=D">;Last modified</a>;</th>;<th>;<a href="?C=S;O=A">;Size</a>;</th>;<th>;<a href="?C=D;O=A">;Description</a>;</th>;</tr>;<tr>;<th colspan="5">;<hr />;</th>;</tr>;
<tr>;<td valign="top">;<img src="/icons/back.gif" alt="[DIR]" />;</td>;<td>;<a href="/">;Parent Directory</a>;                                                                                                                          </td>;<td>;&</td>;<td align="right">;            - </td>;</tr>;
<tr>;<td valign="top">;<img src="/icons/folder.gif" alt="[DIR]" />;</td>;<td>;<a href="3.PHP-MYSQL/">;3.PHP-MYSQL/</a>;                                                                                                                              </td>;<td align="right">;11-Nov-2003 13:19            </td>;<td align="right">;            - </td>;</tr>;
<tr>;<td valign="top">;<img src="/icons/folder.gif" alt="[DIR]" />;</td>;<td>;<a href="2.WEB-Server/">;2.WEB-Server/</a>;                                                                                                                             </td>;<td align="right">;11-Nov-2003 13:19            </td>;<td align="right">;            - </td>;</tr>;
<tr>;<td valign="top">;<img src="/icons/folder.gif" alt="[DIR]" />;</td>;<td>;<a href="1.FreeBSD/">;1.FreeBSD/</a>;                                                                                                                                </td>;<td align="right">;11-Nov-2003 13:28            </td>;<td align="right">;            - </td>;</tr>;
<tr>;<td valign="top">;<img src="/icons/layout.gif" alt="[DIR]" />;</td>;<td>;<a href="FAPM/">;FAPM/</a>;                                                                                                                                     </td>;<td align="right">;23-Aug-2004 10:17            </td>;<td align="right">;            - </td>;<td>;FAPM 豪华手册</td>;</tr>;
<tr>;<td valign="top">;<img src="/icons/folder.gif" alt="[DIR]" />;</td>;<td>;<a href="incoming/">;incoming/</a>;                                                                                                                                 </td>;<td align="right">;28-Sep-2004 13:16            </td>;<td align="right">;            - </td>;</tr>;
<tr>;<th colspan="5">;<hr />;</th>;</tr>;
</table>;

3、读取#索引底部嵌入文件ReadmeName /data/index/footer.html 并输出
以上三个部分的输出组成一个完整的网页,可以看出,基本目录列表信息是动态生成为一段表格的HTML内容,只需要适当定制你的HTML页面,然后把页面分割为头部和尾部,使得基本目录列表信息刚好嵌入到你所指定的位置,那么你就可以任意定制一个花里胡哨的个性化目录列表页面了。


以下是本人代码:


#使用别名,将系统绝对路径转换为相对于DocumentRoot的相对路径
    Alias /home "/usr/local/www_root/html/website"   #设在<Directory /html > 前面

IndexIgnore header.html footer.html
HeaderName /home/header.html
ReadmeName /home/footer.html

Options Indexes
IndexOptions NameWidth=60
IndexOptions DescriptionWidth=256
IndexOptions IconHeight=16
IndexOptions IconWidth=16
IndexOptions VersionSort
IndexOptions FoldersFirst
IndexOptions HTMLTable
IndexOptions ScanHTMLTitles
ServerSignature Off

HeaderName /home/html/header.html
        ReadmeName /home/html/footer.html
        Options Indexes
        IndexOptions NameWidth=60
        IndexOptions DescriptionWidth=256
        IndexOptions IconHeight=16
        IndexOptions IconWidth=16
        IndexOptions FancyIndexing
        IndexOptions VersionSort
        IndexOptions FoldersFirst
        IndexOptions HTMLTable
        IndexOptions ScanHTMLTitles
        ServerSignature Off
        #IndexIgnore header.html footer.html

        AddIconByEncoding (CMP,/home/icons/compressed.gif) x-compress x-gzip
        AddIconByType (TXT,/home/icons/text.gif) text/*
        AddIconByType (IMG,/home/icons/image2.gif) image/*
        AddIconByType (SND,/home/icons/sound2.gif) audio/*
        AddIconByType (VID,/home/icons/movie.gif) video/*
        AddIcon /home/icons/binary.gif .bin .exe
        AddIcon /home/icons/binhex.gif .hqx
        AddIcon /home/icons/tar.gif .tar
        AddIcon /home/icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
        AddIcon /home/icons/compressed.gif .Z .z .tgz .gz .zip
        AddIcon /home/icons/a.gif .ps .ai .eps
        AddIcon /home/icons/layout.gif .html .shtml .htm .pdf
        AddIcon /home/icons/text.gif .txt
        AddIcon /home/icons/c.gif .c
        AddIcon /home/icons/p.gif .pl .py
        AddIcon /home/icons/f.gif .for
        AddIcon /home/icons/dvi.gif .dvi
        AddIcon /home/icons/uuencoded.gif .uu
        AddIcon /home/icons/script.gif .conf .sh .shar .csh .ksh .tcl
        AddIcon /home/icons/tex.gif .tex
        AddIcon /home/icons/bomb.gif core
        AddIcon /home/icons/back.gif ..
        AddIcon /icons/hand.right.gif README
        AddIcon /home/icons/folder.png ^^DIRECTORY^^
        AddIcon /home/icons/blank.gif ^^BLANKICON^^

拥有帝国一切,皆有可能。欢迎访问phome.net

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

特别推荐