sivut.web

ohjeita web-sivuston tekijälle

Palvelin: Hakemistolistauksen muokkaaminen

Mikäli Apache-web-palvelimen hakemistossa ei ole indeksitiedostoa, näyttää Apache tiedostolistauksen. Tätä listausta on pidetty pyhänä, siihen ei ole yleensä koskettu. Listaus täyttää tehtävänsä hyvin, mutta joissain tapauksissa toiminnassa voisi olla parannettavaa. Tämä vinkki käsittelee tekniikoita, joilla listausta voidaan muuttaa mieleisekseen.

Tässä vinkissä esitetyt tekniikat vaativat Apache web-palvelinohjelmiston. Tekniikoita voidaan käyttää palvelimen konfiguraatiotiedostoista sekä hakemistokohtaisista .htaccess-tiedostosta, mikäli tämä on palvelimella sallittua. Kaikki palveluntarjoajat eivät salli listauksen muuttamista tai omia direktiivejä lainkaan. Ota yhteyttä ensisijaisesti palveluntarjoajaasi mikäli ongelmia ilmenee.

Hakemistolistauksen kieltäminen

Indeksoinnin voi kieltää kokonaan direktiivillä Options -Indexes. Tällöin yritettäessä lukea hakemistoa, lähetetään virheilmoitus 401 Forbidden.

Yksittäisten tiedostojen tai hakemistojen kieltäminen onnistuu IndexIgnore-direktiivillä.

FancyIndexing

FancyIndexing tarkoittaa tapaa tehdä hakemistolistaus niin, että se muodostuu eri sarakkeista ikonille, tiedostonimelle (Name), tiedoston muutosajalle (Last modified), tiedostokoolle (Size) ja kuvaukselle (Description). Mikäli FancyIndexing on poissa päältä, hakemistolistaus on tavallinen järjestämätön lista.

Sarakkeiden poistaminen

FancyIndexing-listauksessa on oletuksena viisi saraketta: ikoni, tiedostonimi, päiväys, tiedostokoko ja kuvaus. Näistä kolme viimeistä voidaan poistaa direktiiveillä IndexOptions +SuppressLastModified, IndexOptions +SuppressSize ja IndexOptions +SuppressDescription. Näin saadaan lisää tilaa muille sarakkeille.

Sarakkeiden leveyksien muuttaminen

FancyIndexing-listauksessa tiedostonimen ja kuvauksen sarakkeiden leveyksiä voidaan muuttaa. Tämä onnistuu direktiiveillä IndexOptions NameWidth=n ja IndexOptions DescriptionWidth=n, jossa n on sarakkeen leveys merkkeinä. Käyttämällä n:n arvoa * kasvaa sarakkeen leveys pisimmän tiedostonimen tai kuvauksen mukaan.

Huom! NameWidth toimii vain Apache 1.3.2 ja uudemmilla. DescriptionWidth toimii vain Apache 1.3.10 ja uudemmilla.

Tiedostojen kuvaukset

Pelkkä tiedostonimi ei aina kerro tarpeeksi tiedoston sisällöstä. Tällöin kannattaa käyttää FancyIndexing-listauksen Description-kenttää lyhyen kuvauksen antamiseen. Kuvaus annetaan direktiivillä AddDescription, esimerkiksi AddDescription "Kumpulan lukion yo:t 04" ylioppilaat.ps. Kuvauksien kanssa kannattaa käyttää kuvaussarakkeen levittävää direktiiviä IndexOptions DescriptionWidth=*.

Apache osaa hakea HTML-tiedostoista title-elementin sisällön automaattisesti kuvaukseen hakemistolistauksessa. Tämä ominaisuus kytketään päälle direktiivillä IndexOptions +ScanHTMLTitles.

Ylä- ja alatunnisteet

Listaukseen kärkeen ja loppuun voidaan lisätä vapaata tekstiä. Apachessa näitä kutsutaan Header- ja Readme-tiedostoiksi. Käytettävien tiedostojen nimet voidaan määrätä direktiiveillä HeaderName- ja ReadmeName. Yleisesti on ollut tapana käyttää HEADER- ja README-nimisiä tiedostoja.

HeaderName HEADER
ReadmeName README

Näihin tiedostoihin voidaan nyt lisätä esimerkiksi yleistä tietoa hakemiston sisällöstä.

Sivun aloittavan HTML-koodin voi poistaa direktiivillä IndexOptions +SuppressHTMLPreamble. Direktiivi on käytössä vain Apachen versiossa 1.3 ja uudemmissa. Näin esimerkiksi sivun otsikkoon ja tyylipohjiin voidaan vaikuttaa. Varo kuitenkin muuttamasta hakemistolistausta niin, ettei kävijät enää tunnista sitä hakemistolistaukseksi. Mikäli käytät tätä ominaisuutta, laita ylätunnistetiedostoon vaaditut HTML-sivun aloittavat elementit (html, head jne.) Hakemiston nimen saat esille esimerkiksi SSI:llä: <!--#echo var="REQUEST_URI"-->.

Tiedostojen poistaminen listauksesta

IndexIgnore-direktiivillä voidaan kieltää yksittäisten tai tiettyä sääntöä vastaavien tiedostojen tai hakemistojen listaaminen. HEADER- ja README-tiedostojen näyttäminen hakemistolistauksessa tuskin on järkevää, sillä niiden sisältö on näkyvissä jo hakemistolistauksen ylä- ja alapuolilla. Näin ollen näiden tiedostojen listaaminen voidaan kieltää: IndexIgnore HEADER README. Vastaavasti kaikki .php-päätteiset tiedostot voitaisiin poistaa listauksesta direktiivillä IndexIgnore *.php. Huom! Kieltämällä listaamasta tiedostoa ei voida estää sen hakemista palvelimelta!

Järjestyksen muuttaminen

Usein on näppärää, että kaikki hakemistot listataan ennen ensimmäistäkään tiedostoa. Tämä onnistuu direktiivillä IndexOptions FoldersFirst. Direktiivi toimii vain Apachen versiolla 1.3.10 ja uudemmilla.

Oletuksena Apache järjestää tiedostot ja hakemistot niin, että esimerkiksi A-kirjaimella alkavat tiedostot tulevat ennen a-kirjaimella alkavia. Pienten ja suurten kirjaimien erolle voi tehdä lopun direktiivillä IndexOptions +IgnoreCase. Direktiivi toimii vain Apachen versiolla 1.3.24 ja uudemmilla.

Oletus on myös, että hakemistolistaus on järjestetty tiedostonimen mukaan. Tätä oletusta voidaan muuttaa direktiivillä IndexOrderDefault. Syntaksi on IndexOrderDefault Ascending|Descending Name|Date|Size|Description. Ensin kerrotaan onko järjestys nouseva (ascending) vai laskeva (descending). Tämän jälkeen kerrotaan mikä on sarake, jonka mukaan järjestetään. Esimerkiksi IndexOrderDefault Ascending Size tuottaa tiedostokoon mukaan nousevassa järjestyksessä olevan listauksen ja IndexOrderDefault Descending Name tuottaa listauksen, joka on järjestetty tiedostonimen mukaan käänteisesti. Direktiivi toimii vain Apachen versiossa 1.3.4 ja uudemmissa.

Hakemistolistauksen järjestäminen tietyn sarakkeen mukaan voidaan kieltää kokonaan direktiivillä IndexOptions +SuppressColumnSorting. Direktiivi toimii vain Apachen versioilla 1.3 ja uudemmilla. Tällöin direktiiviä IndexOrderDefault voidaan käyttää ainoan mahdollisen järjestyksen määrittämiseen.

Ikonien vaihtaminen

Tiedostot saavat oman ikonin hakemistolistaukseen yleensä tiedostotyyppinsä (mediatyyppinsä) mukaan: kuvilla on oma ikoni, ääni- ja tekstitiedostoilla omansa. Jokaisella tiedostolla on tiedostotyypi (ns. MIME-tyyppi), joka kertoo, minkälaisesta tiedostosta (teksti, kuva, video jne.) ja tarkemmin (esim. JPEG-kuva, PDF-dokumentti, MPEG-video) on kyse. IANA ylläpitää listaa käytetyistä tiedostotyypeistä.

Apachen mukana toimitetaan joukko yleiskäyttöisiä ikoneita, jotka ovat yleisesti käytössä ja kattavat suurimman osan tarpeesta. Omia ikoneita voi toki käyttää. Ne kannattaa tehdä samankokoisiksi Apachen perusikoneiden kanssa jotta hakemistolistauksen ulkoasu ei kärsi. Standardikoko on 20 x 22 kuvapistettä.

Tiedostotyyppikohtainen ikoni asetetaan direktiivillä AddIconByType ikonitiedosto tiedostotyyppi/tyypit, esimerkiksi AddIconByType /icons/pdf.gif application/pdf PDF-tiedostoille tai AddIconByType /icons/audio1.gif audio/* kaikille äänitiedostoille.

Ikoneita voidaan määrätä jopa tiedostontarkasti AddIcon-direktiivillä. Kannattaa kuitenkin käyttää tiedostotyyppikohtaisia ikoneita, sillä esimerkiksi .pdf- ja .PDF-päättyvät tiedostot ovat saman tyyppisiä, vaikka tiedostonimi on eri. Poikkeus sääntöön: hakemistojen ikonia voidaan muuttaa direktiivillä AddIcon ikonitiedosto ^^DIRECTORY^^, esimerkiksi AddIcon /icons/dir.gif ^^DIRECTORY^^.

Oletusikoni voidaan määrätä kaikille niille tiedostoille, joille ei ole määrätty erityistä ikonia. Tämä tapahtuu direktiivillä DefaultIcon, esimerkiksi DefaultIcon /icons/unknown.gif.

Ikoneille, kuten kaikille muillekin kuville, tulee lisätä alt-määrite, jossa kerrotaan kuvan sisältö tekstuaalisesti. Oletuksena Apache käyttää TYYPPI-muotoisia alt-tekstejä, esimerkiksi TXT tekstitiedostoille ja SND äänitiedostoille. Olemassaolevia tekstejä ei kannata muuttaa, mutta itse lisätyille ikoneille ja niille, joilta alt-teksti puuttuu, kannattaa se lisätä. Alt-määrite lisätään, aivan kuten ikonikin, direktiivillä AddAltByType "ALT-teksti" tiedostotyyppi, esimerkiksi AddAltByType "HTM" text/html ja AddAltByType "PDF" application/pdf. Alt-tekstit kannattaa pitää 3-merkkisinä, sillä muuten rivitys menee pilalle tekstipohjaisissa selaimissa, aivan kuten jos ikoni olisi epästandardia kokoa.

Lue lisää:
Apache module mod_autoindex

Tämä sivu on luotu 31.5.2004 ja viimeksi päivitetty 31.5.2004.


Käyttäjien kommentit

25.5.2005 17:21
sreth

www.saunlahti.fi/helsal tällä sivulla voit katsoa ja julkaista animaatioita ilmaiseksi

26.3.2008 19:48
tatupe

onko ilmaisia palvelimia?

Lisää oma kommentti


Juha-Pekka Järvenpää
jp@sivut.org
http://www.jarvenpaa.net/