Jika sebuah direktori di bawah DocumentRoot tidak memiliki salah satu file indeks default (seperti index.html, index.htm, index.php, dll), maka Apache akan menampilkan isi direktori tersebut dengan tampilan standar yang kurang lebih sebagai berikut:
Index of /6/i386/os
Name Last modified Size Description
[ICON] Parent Directory 19-Oct-2006 19:54 - [ICON] RPM-GPG-KEY-rawhide 16-Oct-2006 01:07 1k [ICON] eula.txt 05-Oct-2006 22:07 5k [ICON] fedora.css 18-Oct-2006 03:42 2k [ICON] images/ 19-Oct-2006 21:05 - [ICON] isolinux/ 19-Oct-2006 21:05 -
Menu
Mendisable autoindex
Fitur ini kadangkala memudahkan, tapi bisa juga menimbulkan risiko keamanan (file-file yang seharusnya tidak ingin bisa dilihat pengunjung jadi terlihat). Jika Anda tidak menginginkan hal ini, Anda bisa melakukan salah satu hal berikut:
a) Pastikan selalu ada file index.html di setiap direktori. File index.html ini dapat kosong saja isinya atau berisi sebuah spasi/enter.
b) Atau bisa juga dengan menambahkan baris ini di file .htaccess Anda:
IndexIgnore * .*
Sehingga meskipun halaman listing autoindex tampil, tapi semua nama filenya disembunyikan, seolah-olah tidak ada.
c) (Cara expert dan tidak terlalu dianjurkan) Tutup permission read pada direktori yang bersangkutan di server. Jika menggunakan control panel, gunakan fasilitas chmod pada file manager dan matikan semua flag r (read) pada direktori ybs. Jika menggunakan shell Unix, berikan perintah “chmod a-r” pada direktori ybs. Cara ini paling aman, tapi tidak begitu dianjurkan, karena: i) Anda perlu mengetahui sedikit mengenai permission Unix; ii) permission ini juga membuat Anda tidak bisa melihat listing file lewat FTP atau control panel atau shell kecuali permission r dibuka/diberikan lagi dulu; iii) jika Anda mengupload ulang filenya dari komputer Anda, perlu chmod lagi di server.
Memaksa autoindex
Sebaliknya, kadang walaupun file index.html dll itu ada, Anda ingin agar yang muncul adalah autoindex Apache, agar semua file dapat dilihat dan dibrowse. Bagaimana caranya? Buat file .htaccess yang isinya:
DirectoryIndex none
Catatan: subdirektori-subdirektori akan otomatis juga menampilkan autoindex meskipun ada file-file indeks. Jika ingin subdirektori berkelakuan normal, maka Anda perlu menambahkan file .htaccess di subdirektori ybs yang isinya:
DirectoryIndex index.html index.htm index.php
Anda bisa menambahkan/mengganti daftar nama file yang ingin dijadikan indeks.
Mengeset lebar nama file
Kadang-kadang jika nama filenya cukup panjang, tampilannya di autoindex akan terpotong seperti ini:
RELEASE-NOTES-en_US...> 18-Oct-2006 03:42 172k RPM-GPG-KEY-fedora-e..> 16-Oct-2006 01:07 2k RPM-GPG-KEY-fedora-l..> 16-Oct-2006 01:07 2k RPM-GPG-KEY-fedora-r..> 16-Oct-2006 01:07 1k
Agar nama file tidak terpotong, tambahkan baris ini di file .htaccess Anda:
IndexOptions namewidth=*
maka setelah direfresh lebar kolom nama file/dir akan fleksibel mengikuti nama terpanjang yang ada:
RELEASE-NOTES-en_US.html 18-Oct-2006 03:42 172K RPM-GPG-KEY-fedora-extras 16-Oct-2006 01:07 2.0K RPM-GPG-KEY-fedora-legacy 16-Oct-2006 01:07 1.7K RPM-GPG-KEY-fedora-rawhide 16-Oct-2006 01:07 1.1K
Header dan footer
Jika Anda menaruh file bernama HEADER atau HEADER.html (perhatikan huruf besar kecilnya, karena di Unix dibedakan) maka isi file ini akan ditampilkan di awal autoindex. Demikian pula untuk footer yang akan diletakkan di bawah tampilan autoindex, filenya bernama README atau README.html (perhatikan huruf besar kecil).
Nama file ini bisa saja diubah dengan direktif HeaderName dan ReadmeName di .htaccess. Misalnya:
HeaderName atas.html ReadmeName bawah.html
Jika Anda ingin agar satu file header atau footer bisa dipakai untuk sub-subdirektori jika, maka Anda dapat menggunakan direktif di atas dengan menyebutkan tanda “/” di nama filenya, mis:
ReadmeName /bawah.html
Maka Apache akan membaca bawah.html yang berada tepat di root website (DocumentRoot). Di setiap subsubdirektori yang ingin ditampilkan autoindex, Anda tidak perlu lagi menaruh file bawah.html.