Apache 在哪里/如何生成默认目录列表中使用的 HTML 代码?

Apache 在哪里/如何生成默认目录列表中使用的 HTML 代码?

我正在寻找修改 apache 为其默认目录列表生成的 HTML。

我已经知道如何创建一个 HEADER.html 文件,该文件包含在每一个目录列表中。我试图更改 Apache 为文件列表本身生成的实际 html;目前我的 MacOS apache 生成了以下内容,例如:

<table><tr><th><img src="/icons/blank.gif" alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">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/folder.gif" alt="[DIR]"></td><td><a href="ios-prototype/">ios-prototype/</a>         </td><td align="right">07-Dec-2012 16:47  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td><td><a href="magneto-git/">magneto-git/</a>           </td><td align="right">07-Dec-2012 16:46  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><th colspan="5"><hr></th></tr>
</table>

我希望我的服务器返回目录列表时生成不同的 HTML 结构(比如说 OL)。(仅供参考,我正在使用本地网络服务器进行大量移动浏览器原型设计,需要让用手指浏览正确的测试目录时不那么麻烦 — 表格结构很糟糕,虽然我可以用 CSS 修改其中的很多内容,但它仍然很麻烦。)

答案1

我将您的问题理解为“当没有索引文件时,如何自定义 Apache 显示的目录列表页面?”

如果我没记错的话,此链接有说明: http://perishablepress.com/better-default-directory-views-with-htaccess/

快速路线如下:

1)编辑站点配置(例如:/etc/apache2/sites-available/default)并在行之间添加以下行:

期权+指数

IndexOptions FancyIndexing IgnoreCase VersionSort SuppressHTMLPreamble

HeaderName /relative/path/to/header.html

(header.html 将根据当前浏览的目录加载。按照这些说明,您需要在每个要自定义的目录中都有一个 header.html。您也可以选择使用 .htaccess 仅为一个目录执行此操作)

2)重新加载 Apache(sudo /etc/init.d/apache2 reload)

3) 在所需目录中创建 header.html 文件。链接中有示例代码和样式(因为我无法在此处粘贴代码)。

在浏览器中重新加载页面,页面应该已经定制好了。我刚刚在 Ubuntu 12.04 上测试了这两个。

编辑:我已经对这个答案做了很大改动,所以 Ellen B 的评论不再适用,抱歉。不过,这是一个更好的答案,而且经过了测试。)

相关内容