mod_dir Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar. Base mod_dir.c dir_module

Bir dizin içerik dosyası şu iki kaynaktan birinden gelebilir:

Bu iki işlev tamamen birbirinden ayrıdır, dolayısıyla eğer isterseniz kendiliğinden dizin içerik listesi üretimini tamamen iptal edebilirsiniz.

Sunucu http://sunucum/filanca/birdizin şeklinde bir istek aldığında birdizin bir dizinin ismiyse ‘bölü çizgisiyle biten’ bir yönlendirme söz konusudur. Dizinler URL sonuna bir bölü çizgisi eklenmesini gerektirir, bu bakımdan mod_dir modülü isteği http://sunucum/filanca/birdizin/ şeklinde yönlendirir.

DirectoryIndex İstemci bir dizin istediğinde dizin içeriğini listeler. DirectoryIndex yerel-url [yerel-url] ... DirectoryIndex index.html server configvirtual host directory.htaccess Indexes

DirectoryIndex yönergesi, istemci, dizinin sonuna bir bölü çizgisi ekleyerek dizin içeriğinin listelenmesini istediğinde bakılmak üzere özkaynakları listeler. yerel-url, sunucu üstünde istenen dizine göreli bir belgenin URL’sidir; normal olarak dizin içindeki bir dosyanın ismidir. Çeşitli URL’ler verilebilirse de sunucu daima ilk bulduğuyla dönecektir. Eğer özkaynakların hiçbiri yoksa ve Indexes seçeneği atanmışsa sunucu dizin içeriğinden bir liste üretecektir.

Örnek: DirectoryIndex index.html

Bu yapılandırmadan sonra yapılan bir http://sunucum/belgeler/ isteğine karşılık, sunucu, mevcutsa http://sunucum/belgeler/index.html dosyasını döndürecek, değilse ürettiği dizin içerik listesini gönderecektir.

Belgelerin dizine göreli olmasının gerekmediğine dikkat ediniz.

DirectoryIndex index.html index.txt /cgi-bin/index.pl

Bu örnekte ise dizin içinde ne index.html ne de index.txt mevcut olduğunda /cgi-bin/index.pl CGI betiği çalıştırılacaktır.

DirectorySlash Bölü çizgisi ile biten yönlendirmeleri açar/kapar. DirectorySlash On|Off DirectorySlash On server configvirtual host directory.htaccess Indexes Apache 2.0.51 ve sonrasında mevcuttur.

DirectorySlash yönergesi, bir dizin isteğinde bulunan URL’lerin sonuna mod_dir modülü tarafından bir bölü çizgisi eklenip eklenmeyeceğini belirler.

Normalde, bir kullanıcı sona bir bölü çizgisi eklemeden bir dizin için istekte bulunursa mod_dir zaten onu aynı özkaynağa yönlendirir, fakat isteğin sonuna bir bölü çizgisi eklenmesinin bazı iyi sebepleri vardır:

  • Kullanıcı bunun sonucunda meşru bir URL ile istekte bulunmuş olur.
  • mod_autoindex gerektiği gibi çalışır. Yoksa bağlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.
  • DirectoryIndex yönergesi sadece bölü çizgisi ile biten dizin istekleri için değerlendirilir.
  • HTML sayfa içindeki göreli URL başvuruları gerektiği gibi çalışacaktır.

Siz yine de bu etkiyi istemezseniz ve yukarıdaki sebepler de size uygun değilse yönlendirmeyi şöyle kapatabilirsiniz:

# Aşağıdaki güvenlik uyarısına bakınız!
<Location /bir/yol>
DirectorySlash Off
SetHandler bir-eylemci
</Location>
Güvenlik Uyarı

Bölü çizgisi ile biten yönlendirmelerin kapatılması bir bilginin istemeyek açığa çıkmasına sebep olabilir. mod_autoindex modülünün etkin olduğunu (Options +Indexes) ve DirectoryIndex ile geçerli bir özkaynağın (index.html olsun) atandığını ama bu URL için başka hiçbir özel eylemci tanımlanmadığını varsayalım. Bu durumda bölü çizgisi ile biten bir istek olduğunda index.html dosyası sunulurdu. Fakat bölü çizgisi ile bitmeyen bir istek dizin içeriğinin listelenmesi ile sonuçlanırdı.