Apache HTTP Sunucusu Sürüm 2.2

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

# Apache Modülü mod_vhost_alias

Mevcut Diller: en | tr

Açıklama: | Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar
Durum: | Eklenti
Modül Betimleyici: | vhost_alias_module
Kaynak Dosyası: | mod_vhost_alias.c

### Özet

Bu modül, hangi dosyaların sunulacağını saptamak için dosya yolunun parçası olarak HTTP isteğinin `Host:` başlığının ve/veya IP adresinin kullanılmasını mümkün kılarak devingen yapılandırmalı sanal konaklar oluşturur. Böylece benzer yapılandırmaya sahip çok büyük sayıda sanal konak kullanımı kolaşlaşır.

### Bilginize

URI’leri dosya isimlerine dönüştürmek için `mod_alias` veya `mod_userdir` kullanılmışsa bunlar `mod_vhost_alias` yönergeleri tarafından aşağıda açıklandığı gibi geçersiz kılınırlar. Örneğin, aşağıdaki yapılandırma her durumda `/cgi-bin/script.pl` betiğini `/usr/local/apache2/cgi-bin/script.pl` betiğine eşleyecektir:

`ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
VirtualScriptAlias /nerede/bilinmiyor/%0/cgi-bin/`

### Yönergeler

### Konular

- Dizin İsimlerinin Elde Edilmesi
- Örnekler

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

- `UseCanonicalName`
- Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma

## Dizin İsimlerinin Elde Edilmesi

Bu modüldeki tüm yönergeler bir dizgeyi bir dosya yoluna dönüştürerek çalışırlar. Dönüşüm dizgesi (bundan sonra “isim” diyeceğiz) ya sunucu ismi olur (bunun nasıl belirlendiğini öğrenmek için `UseCanonicalName` yönergesine bakınız) ya da sunucu üzerindeki sanal konağın IP adresi olur. Dönüşümü, `printf`’inkilerin benzeri birkaç biçem belirteci denetler:

`%%` | Bir `%` imi yerleştirir.
`%p` | Sanal konağın IP adresini yerleştirir.
`%N.M` | İsmin parçalarını yerleştirir.

`N` ve `M` ismin alt dizgelerini belirtmek için kullanılır. `N`, ismin noktalarla ayrılmış bileşenlerinden seçim yaparken `M`, `N` ile seçilen parçadan karakter seçmekte kullanılır. `M` isteğe bağlı olup mevcut olmaması halinde öntanımlı olarak sıfırdır. Noktanın varlığı `M`’nin varlığına bağlıdır. Dönüşüm şöyle uygulanır:

`0` | ismin tamamı
`1` | ilk parça
`2` | ikinci parça
`-1` | son parça
`-2` | sondan bir önceki parça
`2+` | ikinci parça ve sonraki parçaların hepsi
`-2+` | sondan bir önceki parça ve daha önceki parçaların hepsi
`1+` ve `-1+` | `0` ile aynı

`N` veya `M` parça sayısından büyükse dönüşüm dizgesi sadece alt çizgi karakterini içerir.

## Örnekler

Sunucu yapılandırma dosyanızda isme dayalı sanal konaklar için aşağıdaki yönergeler kullanılıyor olsun:

`UseCanonicalName Off
VirtualDocumentRoot /usr/local/apache/sankonlar/%0`

`http://mesela.dom/dizin/dosya.html` için yapılan bir istek `/usr/local/apache/sankonlar/mesela.dom/dizin/dosya.html` dosyası ile yerine getirilecektir.

Çok büyük sayıda sanal konak için `sankonlar` dizininin boyutlarını küçük tutmak amacıyla dosyalar düzenlenebilir. Bunu yapılandırma dosyanızda şöyle yapabilirsiniz:

`UseCanonicalName Off
VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2`

`http://falan.filan.mesela.dom/dizin/dosya.html` için yapılan bir istek `/usr/local/apache/sankonlar/mesela.dom/f/i/l/filan/dizin/dosya.html` ile yerine getirilecektir.

Bu sefer de parçaları ismin sonundan toplayalım:

`VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.-1/%2.-2/%2.-3/%2`

Bu durumda istek `/usr/local/apache/sankonlar/mesela.dom/n/a/l/filan/dizin/dosya.html` ile karşılanırdı.

Şöyle bir şey de yapabilirsiniz:

`VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2.4+`

Bu örnek için istek `/usr/local/apache/sankonlar/mesela.dom/f/i/l/an/dizin/dosya.html` dosyasından karşılanırdı.

IP’ye dayalı sanal konaklar için yapılandırma dosyanızda şu satırlar olabilirdi:

`UseCanonicalName DNS
VirtualDocumentRootIP /usr/local/apache/sankonlar/%1/%2/%3/%4/belgeler
VirtualScriptAliasIP /usr/local/apache/sankonlar/%1/%2/%3/%4/cgi-bin`

`http://falan.filan.mesela.dom/dizin/dosya.html` için yapılan bir istek eğer `falan.filan.mesela.dom`’un IP adresi 10.20.30.40 olsaydı, `/usr/local/apache/sankonlar/10/20/30/40/belgeler/dizin/dosya.html` dosyası ile karşılanırdı. `http://falan.filan.mesela.dom/cgi-bin/betik.pl` için yapılan bir istek ise `/usr/local/apache/sankonlar/10/20/30/40/cgi-bin/betik.pl` betiğinin çalıştırılması ile sağlanırdı.

Bir `VirtualDocumentRoot` yönergesinin `.` karakterini içermesini isterseniz, bir biçem belirteci ile karışıklığa sebep olmaksızın bunu şöyle sağlayabilirsiniz:

`VirtualDocumentRoot /usr/local/apache/sankonlar/%2.0.%3.0`

Bu durumda `http://falan.filan.mesela.dom/dizin/dosya.html` için yapılan bir istek `/usr/local/apache/sankonlar/filan.mesela/dizin/dosya.html` dosyası ile karşılanacaktır.

`LogFormat` yönergesinin `%V` ve `%A` biçem belirteçleri bu modülle birlikte kullanıldığında çok yararlı olurlar.

## VirtualDocumentRoot Yönergesi

Açıklama: | Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
Sözdizimi: | `VirtualDocumentRoot hesaplanan-dizin|none`
Öntanımlı: | `VirtualDocumentRoot none`
Bağlam: | sunucu geneli, sanal konak
Durum: | Eklenti
Modül: | mod_vhost_alias

`VirtualDocumentRoot` yönergesi sunucu ismine göre belgelerin bulunacağı yeri Apache’nin saptamasını sağlar. `hesaplanan-dizin`’in dönüşüm sonucu `DocumentRoot` yönergesinin değeriymiş gibi belge ağacının kök dizini olarak kullanılır. `hesaplanan-dizin` yerine `none` belirtilmişse `VirtualDocumentRoot` iptal edilmiş olur. Bu yönerge `VirtualDocumentRootIP` yönergesinin kullanıldığı bağlamda yer alamaz.

## VirtualDocumentRootIP Yönergesi

Açıklama: | Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
Sözdizimi: | `VirtualDocumentRootIP hesaplanan-dizin|none`
Öntanımlı: | `VirtualDocumentRootIP none`
Bağlam: | sunucu geneli, sanal konak
Durum: | Eklenti
Modül: | mod_vhost_alias

`VirtualDocumentRootIP` yönergesi, dizinin saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP adresini kullanması dışında `VirtualDocumentRoot` gibidir.

## VirtualScriptAlias Yönergesi

Açıklama: | Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
Sözdizimi: | `VirtualScriptAlias hesaplanan-dizin|none`
Öntanımlı: | `VirtualScriptAlias none`
Bağlam: | sunucu geneli, sanal konak
Durum: | Eklenti
Modül: | mod_vhost_alias

`VirtualScriptAlias` yönergesi, CGI betiklerinin bulunacağı yeri Apache’nin saptamasını sağlamak bakımından `VirtualDocumentRoot` yönergesinin yaptığını yapar. `/cgi-bin/` ile başlayan istekler için ise `ScriptAlias` yönergesinin yaptığını yapar.

## VirtualScriptAliasIP Yönergesi

Açıklama: | Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
Sözdizimi: | `VirtualScriptAliasIP hesaplanan-dizin|none`
Öntanımlı: | `VirtualScriptAliasIP none`
Bağlam: | sunucu geneli, sanal konak
Durum: | Eklenti
Modül: | mod_vhost_alias

`VirtualScriptAliasIP` yönergesi, dizinin saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP adresini kullanması dışında `VirtualScriptAlias` gibidir.

Mevcut Diller: en | tr