阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

定制与美化Apache的目录列表(索引)样式

506次阅读
没有评论

共计 5013 个字符,预计需要花费 13 分钟才能阅读完成。

定制与美化 Apache 的目录列表(索引)样式

# 表示开启了索引模式(也就是目录浏览)
Options Indexes

indexOptions FancyIndexing ScanHTMLTitles NameWidth=128 DescriptionWidth=256 HTMLTable VersionSort FoldersFirst

可用参数,含义如下:

#ScanHTMLTitles: 搜索 HTML 标题
#NameWidth: 文件命显示字节数
#DescriptionWidth: 描述显示字节数
#HTMLTable: 允许 HTML 格式
#FoldersFirst: 目录优先

SuppressLastModified 在目录中禁止显示最近的修改时间

# 索引排除语法

IndexIgnore header.html footer.html

header.html footer.html 这两个文件不会在索引(目录浏览)中出现。

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

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

ReadmeName:指定该目录列表的 footer 模板,指定一个 html 文件后,Apache 会在目录列表的底部加载这个网页。(注意:文件路径是相对于列表目录的根而言的,并不是相对于系统根或者网站根。)
HeaderName:指定该目录列表的 header 模板,指定一个 html 文件后,Apache 会用这个网页替换掉默认目录列表上面呆板的 Index of …..。(注意:文件路径是相对于列表目录的根而言的,并不是相对于系统根或者网站根。)

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

# 关闭服务器标志
ServerSignature Off

Apache 一目录索引显示风格定制
在 Apache 中有目录索引是由 mod_autoindex 模块负责完成的。它把当前目录结果转换成 html 页面。在默认情况下,有很多地方让人感觉不爽,比如文件名宽度太窄(只有可怜的 23 字节),图标太大,有点傻傻的,好多文件类型没有关联。幸好 Apache 开发人员早就想到这一点,提供了让用户定制的命令。官方详细介绍可以去上面的超链去看看。

索引风格控制命令:
IndexOptions Directive //Dirctive 是命令选项,见下面实例

下面介绍常用的设置(都写在 httpd.conf 文件中):
修改自动目录索引的宽度
缺省设置下,Apache 默认每栏宽度是 23 字节,对于文件名来说,实在是太短了。一般要求 60 字节
IndexOptions NameWidth=60

修改图标尺寸
系统默认好像是 24,经过试验,发现 16 的效果比较好。
IndexOptions IconHeight=16
IndexOptions IconWidth=16

目录优先
系统默认是文件优先,和我们平时的习惯不一致。改过来。
IndexOptions FoldersFirst

版本排序
无须多说,加上吧。对于中文来说,是按照拼音顺序排序的。
IndexOptions VersionSort

图标优化
默认的图标有不少比较难看,而且还有很多文件类型就没有图标,由于 Solaris 不支持 Microsoft 定义的各种文档类型,显示这些文件时都用问号图标表达,或许代表 Sun 对 Microsoft 的态度,不过我可不这么认为,凡事还是清楚点好。
定制文件图标分两步,先用图标工具抓取常用图标,象 Word,Excel,Powerpint,Rar,Pdf。另外,默认的目录图标看上去也不爽,干脆把 Window 的那套东西都搬过来。完成后,把这些图标(格式为 gif 或 png)全部存到 /usr/local/apache2/icons 目录下。对于目录图标,我直接用微软的图标替换了那个名字叫 folder.gif 的文件。
接下来,用 AddIcon 命令把图标和文件类型关联起来。
AddIcon /icons/word.gif .doc .DOC
AddIcon /icons/excel.gif .xls .XLS
AddIcon /icons/rar.gif .rar .RAR
AddIcon /icons/srm.gif .srm .SRM
AddIcon /icons/powerpoint.gif .ppt .PPT
AddIcon /icons/access.gif .mdb .MDB

上面是我喜欢的文件类型,注意可别忘了大小写都加上哦。
完成后,重新启动 apache,哈哈,终于看到了。可是,有几个类型还是没有显示出来 L,它们是:rar,srm,mdb。
又仔细分析了一下配置文件,发现可能和文件类型有关。
Apache 有一个专门负责文件类型的文件:mime.types,里面为每个文件进行了详细分类。比如有:application,image,audio,video。在里面狂搜了一遍,没有上面的那三个类型,于是在前面增加如下定义:
# MIME type Extensions
application/winrar rar
application/srm srm
application/access mdb

重新启动 apache,OK。

Apache 目录索引的简易配置
使用 Apache 配置简易的目录索引,登录者可以方便浏览、下载目录之下的内容。

过程:(以下均为有 root 权限时的操作)

1. 安装 apache:pacman -S apache

2. 配置 apache:vi /etc/httpd/conf/httpd.conf

#管理员的 E -mail,出错时发送错误的邮件地址

ServerAdmin [email]HeirJoe@gmail.com[/email]

#服务器名,没有域名就写 IP

ServerName My IP:80

#主目录地址

DocumentRoot“/path/to/server”

#设置默认主目录的权限,下面需要用到

Order deny,allow

Allow from all

#使用别名,将系统绝对路径转换为相对于 DocumentRoot 的相对路径

Alias /home“/home/httpd”

#配置浏览目录的选项

#选项为索引方式

Options Indexes

#索引选项,目录优先

IndexOptions FancyIndexing FoldersFirst

#索引排除选项

IndexIgnore header.html footer.html

#索引头部嵌入文件(只可使用相对 http 主目录的相对路径,而不是系统的绝对路径)

HeaderName /home/html/header.html

#索引底部嵌入的文件(同上,”/home”使用了别名, 同时要为那个目录设置权限)

ReadmeName /home/html/footer.html

#关闭服务器标志

ServerSignature Off

#使用.htaccess 文件可以得到的控制水平

AllowOverride None

#控制访问权限

Order allow,deny

Allow from all

所作的修改就这么多,其它的都是系统默认,不考虑安全、性能等,基本能正常跑起来了。

3. 运行 apache:httpd -k start

简单的配置就这么多,Apache 的配置和组合还有好多好多,以后再细细研究

个性化 Apach2 目录列表

个性化 Apach2 目录列表,主要取决于对 modautoindex 模块中的各种指令的使用和配合。可以去先阅读一下 Apache2.0 手册中的 modautoindex 模块文档。

文档地址:[url]http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html[/url]

在开始之前,请看一个个性化目录列表的演示地址:[url]http://nanu.8866.org/download[/url]

下面,我们就开始动手:

一、修改 httpd.conf 文件

对需要个性化的目录进行定制:

<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:指定目录列表的排序方式为按名称排序。

当然,还可以定制很多其他的内容,包括可以为每一个文件设定一个图标等等,去读文档吧。

二、建立 header.html 和 footer.html

这两个文件是列表目录的头网页和尾网页,也是个性化的关键。其实这部分和 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,看看自己的定制的目录有多漂亮吧!

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139442.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5013字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7987199
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站-手机博物馆-CHAZ 3D Experience

每天一个好玩的网站 - 手机博物馆 -CHAZ 3D Experience 一句话介绍:一个用 3D 方式重温...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...