Apache HTTP Sunucusu Sürüm 2.4

| 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 | 
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.
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/"
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+ | 0ile aynı | 
N veya M parça sayısından büyükse dönüşüm
      dizgesi sadece alt çizgi karakterini içerir.
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://example.com/dizin/dosya.html için yapılan bir istek
      /usr/local/apache/sankonlar/example.com/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.example.com/dizin/dosya.html için
      yapılan bir istek
    /usr/local/apache/sankonlar/example.com/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/example.com/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/example.com/f/i/l/an/dizin/dosya.html
       dosyasından karşılanırdı.
Kullanıcıların çoğunun ortak isteği, istenen konak adının uzunluğu veya
      sayısı için endişelenmeksizin çok sayıda belge köküne çok sayıda alan
      adından erişilebilmesidir. Eğer istenen konak adı
      www.domain.example.com değil de
      sub.www.domain.example.com ise %3+ kullanımı, belge kök
      dizininin düşünüldüğü gibi example.com değil
      /usr/local/apache/vhosts/domain.example.com/... olmasını
      sağlar. Böyle durumlarda, daima alan adı ve tld ile sonuçlanan
      %-2.0.%-1.0 birleşiminin kullanımı daha yararlı olabilir.
      Böylece, tüm ilk, ikinci ve üçüncü seviye alt alan adlarını aynı dizine
      yönlendirecek bir yapılandırma yapılabilir:
VirtualDocumentRoot "/usr/local/apache/vhosts/%-2.0.%-1.0"
Yukarıdaki örnekte, example.com,
      www.example.com ve hatta www.sub.example.com
      bile /usr/local/apache/vhosts/example.com dizinine
      yönlendirilecektir.
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.example.com/dizin/dosya.html için
      yapılan bir istek eğer falan.filan.example.com’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.example.com/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.example.com/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.
| 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 HTTP Sunucusunun 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.
VirtualDocumentRoot yönergesi aynı bağlamda veya
      alt bağlamlarda da kullanılabilen DocumentRoot yönergelerini geçersiz kılar.
      Genel sunucu etki alanına bir VirtualDocumentRoot
      konulması, daha sonra yer alan her sanal konak tanımı içinde
      VirtualDocumentRoot yönergesine None
      atamadıkça bu sanal konaklarda yapılmış DocumentRoot atamalarını geçersiz kılacaktır.
    | 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.
| 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 httpd’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.
| 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.