Tarayıcı bir dizini görüntülemek istediğinde, Apache web sunucusu varsayılan olarak index.html adında bir dosya arar ve bulursa onu yükler ve gösterir. index.html yoksa index.php isminde bir dosya var mı diye bakar, varsa onun içeriğini gösterir. Her hangi bir dosya bulamazsa, ayarlarına göre ya dizinin içeriğini sade bir şekilde gösterir ya da “dizinin içeriğini görüntülemeye izniniz yok” der.
Biz ise bu yazıda varsayılan dosyayı nasıl değiştirebileceğimizi tartışacağız.
Senaryomuz şöyle olsun, tarayıcı, /resimler klasörünün içeriğini görüntülemek istesin. /resimler dizininde index.php veya benzeri bir dosya yoksa büyük bir ihtimalle dizinin içeriği kullanıcıya gösterilecektir. Bunu engellemek veya değiştirmek için, o dizinin varsayılan dosyasını değiştiririz:
DirectoryIndex ../index.php
Böylece /resimler klasörünün içeriği gezilmek istendiğinde, web sunucusu bir üst dizindeki index.php yi varsayılan dosya olarak çağıracak ve böylece sitenin ana sayfası görüntülenecek!
Ya da başka bir senaryoda dizinin içerisindeki varsayılan olarak yüklenebilecek dosyaları çoklu olarak tanımlayabiliriz:
DirectoryIndex dosya.php giris.php anasayfa.php giris.htm
Bu kod sayesinde bir dizinin içeriği görüntülenmek istendiğinde web sunucusu önce dosya.php dosyasını yüklemeye çalışacak, o yoksa giris.php dosyasını arayacak, o da yoksa anasayfa.php diye devam edecek.
Dizinlerin varsayılan dosyalarını değiştirmek bu kadar kolay, siz de index.php dosyasının varsayılan olarak yüklenmesine mahkum değilsiniz, isterseniz değiştirebilirsiniz. (bu işlem daha çok güvenlik nedenleriyle yapılır.)