mod_dir - Apache HTTP Sunucusu

Apache HTTP Sunucusu Sürüm 2.2

Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.2 > Modüller

# Apache Modülü mod_dir

Mevcut Diller: en | ja | ko | tr

Açıklama: | Bölü çizgisiyle biten yönlendirmeleri yapar ve dizin içeriği dosyalarını sunar.
Durum: | Temel
Modül Betimleyici: | dir_module
Kaynak Dosyası: | mod_dir.c

### Özet

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

- Kullanıcı tarafından yazılmış ve ismi genellikle `index.html` olan bir dosya. Dosya ismi `DirectoryIndex` yönergesi ile belirlenir. Bu, `mod_dir` modülü tarafından denetlenir.
- Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu, `mod_autoindex` modülü tarafından sağlanır.

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.

### Yönergeler

## DirectoryIndex Yönergesi

Açıklama: | İstemci bir dizin istediğinde dizin içeriğini listeler.
Sözdizimi: | `DirectoryIndex yerel-url [yerel-url] ...`
Öntanımlı: | `DirectoryIndex index.html`
Bağlam: | sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme: | Indexes
Durum: | Temel
Modül: | mod_dir

`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 Yönergesi

Açıklama: | Bölü çizgisi ile biten yönlendirmeleri açar/kapar.
Sözdizimi: | `DirectorySlash On|Off`
Öntanımlı: | `DirectorySlash On`
Bağlam: | sunucu geneli, sanal konak, dizin, .htaccess
Geçersizleştirme: | Indexes
Durum: | Temel
Modül: | mod_dir
Uyumluluk: | 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ı.

Mevcut Diller: en | ja | ko | tr