Onde / como o Apache gera o código HTML usado na listagem de diretórios padrão?

1

Estou procurando modificar o HTML que o apache gera para sua listagem de diretório padrão.

Eu já sei como criar um arquivo HEADER.html incluído para cada listagem de diretórios. Eu estou tentando mudar o html real que o Apache gera para o arquivo de listagem em si; agora meu apache MacOS gera isso por exemplo:

<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>

Eu quero uma estrutura HTML diferente (como, digamos, um OL) gerada quando meu servidor envia de volta listagens de diretórios. (FYI eu estou fazendo um monte de prototipagem de navegador móvel com o meu servidor local e preciso torná-lo não totalmente horrível para navegar com os dedos para o diretório de teste certo - a estrutura da tabela é uma merda, e enquanto eu posso modificar muito com CSS ainda vai ser ganky.)

    
por Ellen B 08.12.2012 / 02:20

1 resposta

0

Eu entendo sua pergunta como "Como personalizo a página de listagem de diretório exibida pelo Apache quando não há arquivo de índice?"

Se eu estiver correto, este link tem as instruções: link

As rotas rápidas são:

1) Edite a configuração do site (exemplo: / etc / apache2 / sites-available / default) e adicione essas linhas entre as linhas:

Options +Indexes

IndexOptions FancyIndexing IgnoreCase VersionSort SuppressHTMLPreamble

HeaderName /relative/path/to/header.html

(O header.html será carregado com base no diretório BROWSED atual. Com essas instruções, você precisará ter um header.html em cada diretório que deseja personalizar. Você também pode optar por fazê-lo apenas para um diretório usando o .htaccess)

2) Recarregue o Apache (sudo /etc/init.d/apache2 reload)

3) Crie o arquivo header.html no diretório desejado. Há um exemplo de código e estilo no link (já que não posso colar o código aqui).

Recarregue sua página no seu navegador e você deve ser personalizado. Eu testei ambos no Ubuntu 12.04 agora.

Edit: Eu mudei essa resposta significativamente, então o comentário de Ellen B não se aplica mais, desculpe. É uma resposta melhor e testada.

    
por 08.12.2012 / 05:28