Lista plików na serwerze i htaccess

Często zdarza się tak, że chcemy aby po podaniu linka do konkretnego katalogu na serwerze, wyświetliła się lista wszystkich plików jakie znajdują się w tym katalogu. Większość serwerów jednak nie zezwala na to (ze względów bezpieczeństwa) i wyświetla komunikat HTTP 403 Forbidden, You don’t have permission to access… (brak dostępu). Co jednak gdy chcemy umożliwić przeglądanie zawartości katalogu?

Z pomocą przychodzi sławny już plik .htaccess.

W katalogu, w którym chcemy uzyskać listę plików, umieszczamy plik .htaccess o następującej zawartości:

Options +Indexes

Od teraz działa wyświetlanie listy plików w katalogu :) Pokazuje się znane wszystkim Index of / a pod spodem lista plików. Jeśli chcemy uniemożliwić przeglądanie katalogu, w pliku .htaccess wstawiamy linijkę Options -Indexes (z minusem).

To jednak nie wszystko. Mamy dodatkowe opcje, które możemy ustawić:

IndexIgnore *.png *.avi
IndexOptions +FancyIndexing
DirectoryIndex mojplik.html

Pierwsza linijka IndexIgnore *.png *.avi sprawi, że pliki z rozszerzeniami PNG i AVI nie będą widoczne. Możemy dzięki temu ukryć część plików przed niepowołanymi osobami.

Linia IndexOptions +FancyIndexing sprawia, że lista plików zawiera ikonki i w ogóle jest ładniejsza ;) Wygląd listy można uprościć wstawiając linię IndexOptions -FancyIndexing (z minusem).

Ostatnia linijka DirectoryIndex mojplik.html pozwoli nam wyświetlić dowolny plik, zamiast listy plików w katalogu (ot taki bajer).

Mam nadzieję, że komuś się przyda :)