Nové barvy pro apačský directory listing
Nahradil jsem dávno neakualizovaný serverový balík EasyPHP o poznání živějším balíkem Vertrigo a jedna z věcí, které se musely řešit je facelift pro directory listing. Ráno jsem z výsledků vyhledávání usoudil, že tohle nikdo moc neřeší a tak jsem to splácnul z gruntu na základě jednoho pro mě špatně srozumitelného tutoriálu a dokumentace. Tohle jsou vlastně poznámky pro mě. Na nic se neptejte, stejně nevím co ty slova znamenají…
Directory listing neboli výpis obsahu adresáře na localhostu je výchozně ohavný. Je potřeba vyměnit ikony a vůbec tabulku souborů nějak estetičtěji naformátovat. Úkol vypisování souborů se dá (zřejmě) shodit z beder Apache a řešit ho PHP skriptem, já to však řeším Apačem. Asi protože mi to přijde dostatečné.
Archiv s ikonami, CSS souborem a dvěma soubory, které se připojují k directory listingu (hlavička, patička). Celou složku hodit do adresáře Apache. Přidat do konfuguračního souboru (vertrigo.conf) tyto Aliasy:
Alias /MyDirList "D:\Program Files\VertrigoServ\Apache\MyDirList"
Alias /icons "D:\Program Files\VertrigoServ\Apache\MyDirList\icons"
V httpd.conf je třeba upravit cestu k některým ikonám. Toto pravděpodobně není 100% funkční adresování, nechce se mi to kontrolovat, opravil jsem pár běžných typů, na další chyby jsem nenarazil. Běžné soubory prostě dostávají správné ikony. Neběžné ne nezbytně.
AddIconByEncoding (CMP,/icons/compressed.png) x-compress x-gzip
AddIconByType (TXT,/icons/text.png) text/*
AddIconByType (IMG,/icons/image.png) image/*
AddIconByType (SND,/icons/sound2.png) audio/*
AddIconByType (VID,/icons/movie.png) video/*
AddIcon /icons/binary.png .bin .exe
AddIcon /icons/binhex.png .hqx
AddIcon /icons/tar.png .tar
AddIcon /icons/world2.png .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.png .Z .z .tgz .gz .zip .rar .7z
AddIcon /icons/a.png .ps .ai .eps
AddIcon /icons/html.png .html .shtml .htm
AddIcon /icons/text.png .txt
AddIcon /icons/c.png .c
AddIcon /icons/p.png .pl .py
AddIcon /icons/f.png .for
AddIcon /icons/dvi.png .dvi
AddIcon /icons/uuencoded.png .uu
AddIcon /icons/script.png .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.png .tex
AddIcon /icons/bomb.png core
AddIcon /icons/back.png ..
AddIcon /icons/hand.right.png README
AddIcon /icons/folder.png ^^DIRECTORY^^
AddIcon /icons/blank.png ^^BLANKICON^^
DefaultIcon /icons/unknown.png
Dále je dobré zkorigovat IndexOptions
. Asi takto.
IndexOptions FancyIndexing VersionSort SuppressHTMLPreamble XHTML HTMLTable NameWidth=* SuppressDescription SuppressRules FoldersFirst IconsAreLinks
Rychlá vysvětlivka:
- FancyIndexing: nevím
- VersionSort: řadí soubory naturálně
- SuppressHTMLPreamble: vynechání HTML hlavičky
- XHTML: ať to máme s X
- HTMLTable: ať je tabulka opravdu tabulka a ne nějaký tabulátorovaný text v PRE
- NameWidth=*: zajistí, ať se názvy souborů nezkracují (možná lepší odstranit). Občas to deformuje tabulku.
- SuppressDescription: vynech popis typu souboru
- SuppressRules: zachytí nějaké HTML mrdky
- FoldersFirst: jasné
- IconsAreLinks: jasné
Dále je třeba naučit directory listing načítat hlavičku a patičku.
HeaderName /MyDirList/header.shtml
ReadmeName /MyDirList/footer.shtml
A adresář MyDirList je potřeba oprávnit k pár kouzelnickým trikům. Tohle je pro pořádek opět dobré vložit do souboru vertrigo.conf k ostatním podobným příkazům.
<Directory "D:\Program Files\VertrigoServ\Apache\MyDirList">
Options Indexes MultiViews Includes
AllowOverride None
Order allow,deny
Allow from All
</Directory>
Důležité je klíčové slovo Includes, které dovolí zpracovávat SSI příkazy. SSI je vlastně potřeba jen na výpis aktuální cesty.
Takto to vypadá docela jednoduše. Přibližný výsledek. To stylování tabulky je otrava. Někdy to třeba vypiluju.
Komentáře (1)
RSS kanál komentářů
13.8. 2008 — 8:32
Jo, to znám, taky jsem si hrál, ale práci jsem nakonec přenechal z velké části Javascriptu.
http://bukajuv.net/filmy/
Přidat komentář