Apache HTTP Sunucusu Sürüm 2.0

Apache Modülü mod_dir
| 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.htmlolan bir dosya. Dosya ismiDirectoryIndexyönergesi ile belirlenir. Bu,mod_dirmodülü tarafından denetlenir. - Aksi takdirde içerik listesi sunucu tarafından üretilir. Bu,
mod_autoindexmodü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.
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_autoindexgerektiği gibi çalışır. Yoksa bağlantıdaki yolu sunamayacağından yanlış yolu gösterirdi.DirectoryIndexyö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ı.

