2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 1174747:1346943 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <modulesynopsis metafile="mod_vhost_alias.xml.meta">
29 <name>mod_vhost_alias</name>
30 <description>Kitlesel sanal konakların devingen olarak yapılandırılmasını sağlar</description>
31 <status>Extension</status>
32 <sourcefile>mod_vhost_alias.c</sourcefile>
33 <identifier>vhost_alias_module</identifier>
36 <p>Bu modül, hangi dosyaların sunulacağını saptamak için dosya yolunun
37 parçası olarak HTTP isteğinin <code>Host:</code> başlığının ve/veya IP
38 adresinin kullanılmasını mümkün kılarak devingen yapılandırmalı sanal
39 konaklar oluşturur. Böylece benzer yapılandırmaya sahip çok büyük sayıda
40 sanal konak kullanımı kolaşlaşır.</p>
42 <note><title>Bilginize</title>
43 <p>URI’leri dosya isimlerine dönüştürmek için <module>mod_alias</module>
44 veya <module>mod_userdir</module> kullanılmışsa bunlar
45 <module>mod_vhost_alias</module> yönergeleri tarafından aşağıda
46 açıklandığı gibi geçersiz kılınırlar. Örneğin, aşağıdaki yapılandırma
47 her durumda <code>/cgi-bin/script.pl</code> betiğini <code>
48 /usr/local/apache2/cgi-bin/script.pl</code> betiğine eşleyecektir:</p>
51 ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/<br />
52 VirtualScriptAlias /nerede/bilinmiyor/%0/cgi-bin/
57 <seealso><directive module="core">UseCanonicalName</directive></seealso>
58 <seealso><a href="../vhosts/mass.html">Devingen olarak Yapılandırılan Kitlesel
59 Sanal Barındırma</a></seealso>
61 <section id="interpol">
62 <title>Dizin İsimlerinin Elde Edilmesi</title>
64 <p>Bu modüldeki tüm yönergeler bir dizgeyi bir dosya yoluna dönüştürerek
65 çalışırlar. Dönüşüm dizgesi (bundan sonra “isim” diyeceğiz) ya sunucu
66 ismi olur (bunun nasıl belirlendiğini öğrenmek için <directive
67 module="core" >UseCanonicalName</directive> yönergesine bakınız) ya da
68 sunucu üzerindeki sanal konağın IP adresi olur. Dönüşümü,
69 <code>printf</code>’inkilerin benzeri birkaç biçem belirteci
73 <columnspec><column width=".2"/><column width=".6"/></columnspec>
74 <tr><td><code>%%</code></td>
75 <td>Bir <code>%</code> imi yerleştirir.</td></tr>
77 <tr><td><code>%p</code></td>
78 <td>Sanal konağın IP adresini yerleştirir.</td></tr>
80 <tr><td><code>%N.M</code></td>
81 <td>İsmin parçalarını yerleştirir.</td></tr>
85 <p><code>N</code> ve <code>M</code> ismin alt dizgelerini belirtmek için
86 kullanılır. <code>N</code>, ismin noktalarla ayrılmış bileşenlerinden
87 seçim yaparken <code>M</code>, <code>N</code> ile seçilen parçadan
88 karakter seçmekte kullanılır. <code>M</code> isteğe bağlı olup mevcut
89 olmaması halinde öntanımlı olarak sıfırdır. Noktanın varlığı
90 <code>M</code>’nin varlığına bağlıdır. Dönüşüm şöyle uygulanır:</p>
93 <columnspec><column width=".1"/><column width=".4"/></columnspec>
94 <tr><td><code>0</code></td>
95 <td>ismin tamamı</td></tr>
97 <tr><td><code>1</code></td>
98 <td>ilk parça</td></tr>
100 <tr><td><code>2</code></td>
101 <td>ikinci parça</td></tr>
103 <tr><td><code>-1</code></td>
104 <td>son parça</td></tr>
106 <tr><td><code>-2</code></td>
107 <td>sondan bir önceki parça</td></tr>
109 <tr><td><code>2+</code></td>
110 <td>ikinci parça ve sonraki parçaların hepsi</td></tr>
112 <tr><td><code>-2+</code></td>
113 <td>sondan bir önceki parça ve daha önceki parçaların hepsi</td></tr>
115 <tr><td><code>1+</code> ve <code>-1+</code></td>
116 <td><code>0</code> ile aynı</td></tr>
119 <p><code>N</code> veya <code>M</code> parça sayısından büyükse dönüşüm
120 dizgesi sadece alt çizgi karakterini içerir.</p>
124 <section id="examples">
125 <title>Örnekler</title>
127 <p>Sunucu yapılandırma dosyanızda isme dayalı sanal konaklar için
128 aşağıdaki yönergeler kullanılıyor olsun:</p>
131 UseCanonicalName Off<br />
132 VirtualDocumentRoot /usr/local/apache/sankonlar/%0
135 <p><code>http://example.com/dizin/dosya.html</code> için yapılan bir istek
136 <code>/usr/local/apache/sankonlar/example.com/dizin/dosya.html</code>
137 dosyası ile yerine getirilecektir.</p>
139 <p>Çok büyük sayıda sanal konak için <code>sankonlar</code> dizininin
140 boyutlarını küçük tutmak amacıyla dosyalar düzenlenebilir. Bunu
141 yapılandırma dosyanızda şöyle yapabilirsiniz:</p>
144 UseCanonicalName Off<br />
145 VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2
148 <p><code>http://falan.filan.example.com/dizin/dosya.html</code> için
150 <code>/usr/local/apache/sankonlar/example.com/f/i/l/filan/dizin/dosya.html
151 </code> ile yerine getirilecektir.</p>
153 <p>Bu sefer de parçaları ismin sonundan toplayalım: </p>
156 VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.-1/%2.-2/%2.-3/%2
160 <code>/usr/local/apache/sankonlar/example.com/n/a/l/filan/dizin/dosya.html
161 </code>ile karşılanırdı.</p>
163 <p>Şöyle bir şey de yapabilirsiniz:</p>
166 VirtualDocumentRoot /usr/local/apache/sankonlar/%3+/%2.1/%2.2/%2.3/%2.4+
169 <p>Bu örnek için istek
170 <code>/usr/local/apache/sankonlar/example.com/f/i/l/an/dizin/dosya.html
171 </code> dosyasından karşılanırdı.</p>
173 <p>IP’ye dayalı sanal konaklar için yapılandırma dosyanızda şu satırlar
177 UseCanonicalName DNS<br />
178 VirtualDocumentRootIP
179 /usr/local/apache/sankonlar/%1/%2/%3/%4/belgeler<br />
180 VirtualScriptAliasIP /usr/local/apache/sankonlar/%1/%2/%3/%4/cgi-bin
183 <p><code>http://falan.filan.example.com/dizin/dosya.html</code> için
184 yapılan bir istek eğer <code>falan.filan.example.com</code>’un IP adresi
186 <code>/usr/local/apache/sankonlar/10/20/30/40/belgeler/dizin/dosya.html
187 </code> dosyası ile karşılanırdı.
188 <code>http://falan.filan.example.com/cgi-bin/betik.pl</code> için yapılan
190 <code>/usr/local/apache/sankonlar/10/20/30/40/cgi-bin/betik.pl</code>
191 betiğinin çalıştırılması ile sağlanırdı.</p>
193 <p>Bir <code>VirtualDocumentRoot</code> yönergesinin <code>.</code>
194 karakterini içermesini isterseniz, bir biçem belirteci ile karışıklığa
195 sebep olmaksızın bunu şöyle sağlayabilirsiniz:</p>
198 VirtualDocumentRoot /usr/local/apache/sankonlar/%2.0.%3.0
201 <p>Bu durumda <code>http://falan.filan.example.com/dizin/dosya.html</code>
202 için yapılan bir istek
203 <code>/usr/local/apache/sankonlar/filan.mesela/dizin/dosya.html</code>
204 dosyası ile karşılanacaktır.</p>
206 <p><directive module="mod_log_config">LogFormat</directive> yönergesinin
207 <code>%V</code> ve <code>%A</code> <a
208 href="mod_log_config.html#formats">biçem belirteçleri</a> bu modülle
209 birlikte kullanıldığında çok yararlı olurlar.</p>
213 <name>VirtualDocumentRoot</name>
214 <description>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
216 <syntax>VirtualDocumentRoot <em>hesaplanan-dizin</em>|none</syntax>
217 <default>VirtualDocumentRoot none</default>
219 <context>server config</context>
220 <context>virtual host</context>
225 <p><directive>VirtualDocumentRoot</directive> yönergesi sunucu ismine göre
226 belgelerin bulunacağı yeri Apache HTTP Sunucusunun saptamasını sağlar.
227 <code><em>hesaplanan-dizin</em></code>’in dönüşüm sonucu <directive
228 module="core" >DocumentRoot</directive> yönergesinin değeriymiş gibi
229 belge ağacının kök dizini olarak kullanılır.
230 <code><em>hesaplanan-dizin</em></code> yerine <code>none</code>
231 belirtilmişse <directive>VirtualDocumentRoot</directive> iptal edilmiş
232 olur. Bu yönerge <directive module="mod_vhost_alias"
233 >VirtualDocumentRootIP</directive> yönergesinin kullanıldığı bağlamda
240 <name>VirtualDocumentRootIP</name>
241 <description>Bir sanal konağın belge kök dizinini devingen olarak yapılandırır.
243 <syntax>VirtualDocumentRootIP <em>hesaplanan-dizin</em>|none</syntax>
244 <default>VirtualDocumentRootIP none</default>
246 <context>server config</context>
247 <context>virtual host</context>
252 <p><directive>VirtualDocumentRootIP</directive> yönergesi, dizinin
253 saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP
254 adresini kullanması dışında <directive
255 module="mod_vhost_alias">VirtualDocumentRoot</directive> gibidir.</p>
260 <name>VirtualScriptAlias</name>
261 <description>Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
263 <syntax>VirtualScriptAlias <em>hesaplanan-dizin</em>|none</syntax>
264 <default>VirtualScriptAlias none</default>
266 <context>server config</context>
267 <context>virtual host</context>
272 <p><directive>VirtualScriptAlias</directive> yönergesi, CGI betiklerinin
273 bulunacağı yeri Apache httpd’nin saptamasını sağlamak bakımından
274 <directive module="mod_vhost_alias" >VirtualDocumentRoot</directive>
275 yönergesinin yaptığını yapar. <code>/cgi-bin/</code> ile başlayan
276 istekler için ise <directive module="mod_alias">ScriptAlias</directive>
277 yönergesinin yaptığını yapar.</p>
283 <name>VirtualScriptAliasIP</name>
284 <description>Bir sanal konağın CGI dizinini devingen olarak yapılandırır.
286 <syntax>VirtualScriptAliasIP <em>hesaplanan-dizin</em>|none</syntax>
287 <default>VirtualScriptAliasIP none</default>
289 <context>server config</context>
290 <context>virtual host</context>
295 <p><directive>VirtualScriptAliasIP</directive> yönergesi, dizinin
296 saptanmasında sunucu ismi yerine bağlantının sonlandığı sunucunun IP
297 adresini kullanması dışında <directive module="mod_vhost_alias"
298 >VirtualScriptAlias</directive> gibidir.</p>