Apache HTTP Sunucusu Sürüm 2.4

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

# Apache Modülü mod_userdir

Açıklama: | Kullanıcılara özel dizinler
Durum: | Temel
Modül Betimleyici: | userdir_module
Kaynak Dosyası: | mod_userdir.c

### Özet

Bu modül kullanıcılara özel dizinlere `http://example.com/~kullanıcı/` sözdizimi kullanılarak erişilebilmesini mümkün kılar.

### Yönergeler

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### Ayrıca bakınız:

- URL’lerin Dosya Sistemi ile Eşleştirilmesi
- public_html eğitmeni

## UserDir Yönergesi

Açıklama: | Kullanıcıya özel dizinlerin yeri
Sözdizimi: | `UserDir dizin [dizin] ...`
Bağlam: | sunucu geneli, sanal konak
Durum: | Temel
Modül: | mod_userdir

`UserDir` yönergesi, bir kullanıcıya ait bir belge için bir istek yapıldığında, isteğin kullanıcının ev dizininde bulunan belli bir dizinden karşılanmasını sağlar. `dizin` olarak şunlar belirtilebilir:

- Dizinin ismi veya aşağıdakiler gibi bir kalıp.
- `disabled` anahtar sözcüğü. `enabled` anahtar sözcüğü ile sonradan etkin kılınmadıkça tüm kullanıcı-dizin dönüşümlerini iptal eder (aşağıya bakınız).
- `disabled` anahtar sözcüğünü takibeden boşluk ayraçlı kullanıcı isimleri listesi. Bu listede yer alan kullanıcı isimlerine, sonradan bir `enabled` listesinde görünse bile, dizin dönüşümleri asla uygulanmaz.
- `enabled` anahtar sözcüğünü takibeden boşluk ayraçlı kullanıcı isimleri listesi. Genel bir iptal sözkonusu olsa bile, kullanıcı ismi bir `disabled` listesinde yer almadıkça, bu listede yer alan dizinlere dönüşüm uygulanır.

`Userdir` yönergesinde ne `enabled` ne de `disabled` varsa, argüman bir dosya ismi kalıbı olarak ele alınır ve kullanıcı belge kök dizininin yolunu oluşturmakta kullanılır. `http://example.com/~ali/bir/iki.html` şöyle dönüştürülür:

Kullanılan UserDir yönergesi | Elde edilen yol
--- | ---
UserDir public_html | ~ali/public_html/bir/iki.html
UserDir /usr/siteler | /usr/siteler/ali/bir/iki.html
UserDir /home/*/htdocs | /home/ali/htdocs/bir/iki.html

Aşağıdaki yönergelerle istemciye gönderilecek yönlendirmeler:

Kullanılan UserDir yönergesi | Elde edilen yönlendirme
--- | ---
UserDir http://example.com/users | http://example.com/users/ali/bir/iki.html
UserDir http://example.com/*/usr | http://example.com/ali/usr/bir/iki.html
UserDir http://example.com/~*/ | http://example.com/~ali/bir/iki.html

Bu yönergeyi kullanırken dikkatli olun; örneğin, `"UserDir ./"` şeklinde bir atama `"/~root"` isteklerini `"/"` dizinine yönlendirir ki bu elbette istenmez. Bu bakımdan yapılandırmanızda mutlaka bir "`UserDir disabled root`" satırının yer almasını tavsiye ederiz. Daha fazla bilgi için `Directory` yönergesine ve Güvenlik İpuçları sayfasına bakınız.

Diğer örnekler:

Bir kaç kullanıcı hariç kalan herkesin `UserDir` dizinlerini iptal etmek için şunu yapabilirsiniz:

    UserDir disabled
    UserDir enabled birey1 birey2 birey3

Bir kaç kullanıcı hariç kalan herkesin `UserDir` dizinlerini etkin kılmak için şunu yapabilirsiniz:

    UserDir disabled birey4 birey5 birey6

Birden fazla dizin belirtmek de mümkündür:

    Userdir "public_html" "/usr/siteler" "http://example.com/"

Bu örneğe göre, `http://example.com/~ali/bir/iki.html` şeklinde bir istek alındığında sunucu önce `http://example.com/~ali/bir/iki.html` yönlendirmesini deneyecektir. Onu bulamazsa isteği `/usr/siteler/ali/bir/iki.html` dosyasını arayacak onu da bulamazsa istemciyi `http://example.com/ali/bir/iki.html` adresine yönlendirecektir.

Argüman listesine bir yönlendirme ekleyecekseniz, bu, listenin son elemanı olmalıdır. Apache httpd yönlendirmenin başarılı sonuç verip vermediğini bilemeyecektir. Bu bakımdan, listede bu yönlendirmeden sonra bir yönlendirme daha bulunması daha iyi olacaktır.

Kullanıcı dizini dönüşümü Apache 2.1.4 sürümü ve sonrasında öntanımlı olarak etkin değildir. Daha önceki sürümlerde bir `UserDir` yönergesinin yokluğunda `UserDir public_html` öntanımlıydı.

### Ayrıntıların birleştirilmesi

Etkinleştirilen ve etkisizleştirilen kullanıcılara özgü listeler küresel etki alanından sanal konak etki alanına aktarılırken yer değiştirme yapılır, mevcutla birleştirilmez.

### Ayrıca bakınız:

- Kullanıcı Dizinleri