Apache HTTP Sunucusu Sürüm 2.2

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

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# 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/`

### Konular

- Dizin İsimlerinin Elde Edilmesi
- Örnekler

### Yönergeler

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

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

- Yorum

## 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

## Yorum

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.