]> granicus.if.org Git - apache/blob - docs/manual/sections.xml.tr
Updates.
[apache] / docs / manual / sections.xml.tr
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 1300910:1364306 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
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
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
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.
25 -->
26
27 <manualpage metafile="sections.xml.meta">
28
29 <title>Yapılandırma Bölümleri</title>
30
31 <summary>
32     <p><a href="configuring.html">Yapılandırma dosyaları</a>ndaki
33        yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler,
34        dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu
35        belgede, yapılandırma bölümü taşıyıcılarınının veya
36        <code>.htaccess</code> dosyalarının, yapılandırma dosyalarındaki diğer
37        yönergelerin etki alanlarını değiştirtirmek için nasıl kullanılacağı
38        açıklanmıştır.</p>
39 </summary>
40
41 <section id="types"><title>Yapılandırma Bölümü Taşıyıcılarının Türleri</title>
42
43     <related>
44         <modulelist>
45           <module>core</module>
46           <module>mod_version</module>
47           <module>mod_proxy</module>
48         </modulelist>
49
50         <directivelist>
51           <directive type="section" module="core">Directory</directive>
52           <directive type="section" module="core">DirectoryMatch</directive>
53           <directive type="section" module="core">Files</directive>
54           <directive type="section" module="core">FilesMatch</directive>
55           <directive type="section" module="core">If</directive>
56           <directive type="section" module="core">IfDefine</directive>
57           <directive type="section" module="core">IfModule</directive>
58           <directive type="section" module="mod_version">IfVersion</directive>
59           <directive type="section" module="core">Location</directive>
60           <directive type="section" module="core">LocationMatch</directive>
61           <directive type="section" module="mod_proxy">Proxy</directive>
62           <directive type="section" module="mod_proxy">ProxyMatch</directive>
63           <directive type="section" module="core">VirtualHost</directive>
64         </directivelist>
65     </related>
66
67     <p>İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için
68       değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu
69       taşıyıcılarla eşleşen istekler için uygulanır. Diğer yandan,
70       <directive type="section" module="core">IfDefine</directive>,
71       <directive type="section" module="core">IfModule</directive> ve
72       <directive type="section" module="mod_version">IfVersion</directive>
73       taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken
74       değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar
75       sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. Aksi
76       takdirde, içerdikleri yönergeler yok sayılır.</p>
77
78     <p><directive type="section" module="core">IfDefine</directive> yönergesi
79       sadece <program>httpd</program> komut satırında uygun parametreler
80       tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki
81       yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece
82       sunucu <code>httpd -DClosedForNow</code> komut satırı ile başlatıldığı
83       takdirde mümkün olur:</p>
84
85     <example>
86       &lt;IfDefine ClosedForNow&gt;<br />
87       <indent>
88         Redirect / http://otherserver.example.com/<br />
89       </indent>
90       &lt;/IfDefine&gt;
91     </example>
92
93     <p><directive type="section" module="core">IfModule</directive> yönergesi
94       sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde
95       uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan
96       olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
97       dosyasında yönergeden önce o modüle ilişkin bir <directive
98       module="mod_so">LoadModule</directive> satırının bulunması gerekir. Bu
99       yönergeyi sadece belli bir modülün varlığının veya yokluğunun
100       yapılandırma dosyanızın çalışmasını etkilememesini istediğiniz durumlarda
101       kullanmalısınız. Eksik modüllerle ilgili hata iletilerini
102       engellediğinden, taşıyıcı içine, her zaman çalışması istenen yönergeler
103       konulmamalıdır.</p>
104
105     <p>Aşağıdaki örnekte, <directive module="mod_mime_magic"
106       >MimeMagicFile</directive> yönergesi sadece
107       <module>mod_mime_magic</module> modülü mevcutsa uygulanacaktır.</p>
108
109     <example>
110       &lt;IfModule mod_mime_magic.c&gt;<br />
111       <indent>
112         MimeMagicFile conf/magic<br />
113       </indent>
114       &lt;/IfModule&gt;
115     </example>
116
117     <p><directive type="section" module="mod_version">IfVersion</directive>
118       yönergesi sunucunun belli bir sürümünün çalıştırılması halinde
119       uygulanabilecek yönergeleri içerebilmesi dışında <directive
120       type="section" module="core">IfDefine</directive> ve <directive
121       type="section" module="core">IfModule</directive> yönergeleri gibidir.
122       <module>mod_version</module> modülü farklı httpd sürümleri ve farklı
123       yapılandırmalarla büyük ağlarda çalışmayı mümkün kılmak veya sürüm
124       denemeleri yapabilmek amacıyla tasarlanmıştır.</p>
125
126     <example>
127       &lt;IfVersion >= 2.1&gt;<br />
128       <indent>
129         # burası sadece 2.1.0 veya daha üstü sürümlerde<br />
130         # iş görür.<br />
131       </indent>
132       &lt;/IfVersion&gt;
133     </example>
134
135     <p><directive type="section" module="core">IfDefine</directive>,
136       <directive type="section" module="core">IfModule</directive> ve
137       <directive type="section" module="mod_version">IfVersion</directive>
138       yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir.
139       Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir
140       diğerinin içinde kullanılabilirler.</p>
141 </section>
142
143 <section id="file-and-web">
144     <title>Dosya Sistemi, Site Alanı ve Mantıksal İfadeler</title>
145
146     <p>En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki
147       veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte
148       kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek
149       önemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size
150       gösterilen halidir. Örneğin, öntanımlı kurulumda Apache httpd, Unix
151       sistemlerinde  <code>/usr/local/apache2</code> altındayken Windows
152       sistemlerinde  <code>"c:/Program Files/Apache Group/Apache2"</code>
153       altındadır. (Bilgi: Windows için bile, Apache httpd yapılandırma
154       dosyalarında dosya yolu belirtilirken tersbölü değil normal bölü
155       karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye
156       sunulan dizin ağacıdır. Yani, site alanı içindeki <code>/dir/</code>
157       dizini, Apache httpd’nin Unix üzerinde dosya sistemine öntanımlı olarak
158       kurulduğu yer göz önüne alınarak, dosya sistemindeki
159       <code>/usr/local/apache2/htdocs/dir/</code> dizinine karşılıktır. Site
160       sayfaları veritabanlarından veya başka yerlerden devingen olarak
161       üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi
162       gerekli değildir.</p>
163
164   <section id="filesystem"><title>Dosya Sistemi Taşıyıcıları</title>
165
166     <p><directive type="section" module="core">Directory</directive>
167       ve <directive type="section" module="core">Files</directive>
168       taşıyıcıları, <glossary ref="regex">düzenli ifade</glossary> karşılıkları
169       ile beraber, yönergeleri dosya sisteminin parçalarına uygularlar. Bir
170       <directive type="section" module="core">Directory</directive> bölümü
171       içindeki yönergeler belli bir dosya sistemi dizinine ve onun alt
172       dizinlerine uygulanır. Aynı etki <a href="howto/htaccess.html">.htaccess
173       dosyaları</a> kullanılarak da sağlanabilir. Örneğin aşağıdaki
174       yapılandırmada, <code>/var/web/dir1</code> dizini ve alt dizinlerinde
175       dizin içeriğinin listelenmesi etkin kılınmaktadır.</p>
176
177     <example>
178       &lt;Directory /var/web/dir1&gt;<br />
179       <indent>
180         Options +Indexes<br />
181       </indent>
182       &lt;/Directory&gt;
183     </example>
184
185     <p>Bir <directive type="section" module="core">Files</directive> bölümü
186       içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi
187       belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma
188       yönergeleri yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde
189       <code>gizli.html</code> isimli dosyalara nerede bulunursa bulunsun
190       erişime izin vermeyecektir.</p>
191
192     <example>
193       &lt;Files gizli.html&gt;<br />
194       <indent>
195         Order allow,deny<br />
196         Deny from all<br />
197       </indent>
198       &lt;/Files&gt;
199     </example>
200
201     <p>Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar
202       için <directive type="section" module="core">Files</directive> ve
203       <directive type="section" module="core">Directory</directive> bölümleri
204       birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma
205       <code>/var/web/dir1/gizli.html</code>,
206       <code>/var/web/dir1/subdir2/gizli.html</code>,
207       <code>/var/web/dir1/subdir3/gizli.html</code> ve
208       <code>/var/web/dir1/</code> altında bulunabilecek diğer tüm
209       <code>gizli.html</code> dosyalarına erişimi yasaklar.</p>
210
211     <example>
212       &lt;Directory /var/web/dir1&gt;<br />
213       <indent>
214         &lt;Files gizli.html&gt;<br />
215         <indent>
216           Order allow,deny<br />
217           Deny from all<br />
218         </indent>
219         &lt;/Files&gt;<br />
220       </indent>
221       &lt;/Directory&gt;
222     </example>
223   </section>
224
225   <section id="webspace"><title>Site Alanı Taşıyıcıları</title>
226
227     <p><directive type="section" module="core">Location</directive> yönergesi
228       ve yönergenin <glossary ref="regex">düzenli ifade</glossary> karşılığı
229       site alanındaki içerik için yapılandırmayı değiştirir.  Örneğin aşağıdaki
230       yapılandırma, <code>/gizli</code> ile başlayan URL yollarına erişimi
231       engeller. Özellikle, <code>http://siteniz.mesela.dom/gizli</code>,
232       <code>http://siteniz.mesela.dom/gizli123</code> ve
233       <code>http://siteniz.mesela.dom/gizli/dir/dosya.html</code>
234       istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de
235       uygulanır.</p>
236
237     <example>
238       &lt;LocationMatch ^/gizli&gt;<br />
239       <indent>
240         Order Allow,Deny<br />
241         Deny from all<br />
242       </indent>
243       &lt;/LocationMatch&gt;
244     </example>
245
246     <p>Dosya sistemi ile etkileşime girmeyen herşey için
247       <directive type="section" module="core">Location</directive>
248       yönergesi gerekir. Aşağıdaki örnekte, belli bir URL’nin
249       <module>mod_status</module> modülü tarafından sağlanan bir dahili
250       Apache eylemcisine nasıl eşlenebileceği gösterilmiştir. Bu örnek
251       için dosya sisteminde <code>server-status</code> adında bir dosya
252       veya dizin bulunması gerekli değildir.</p>
253
254     <example>
255       &lt;Location /server-status&gt;<br />
256       <indent>
257         SetHandler server-status<br />
258       </indent>
259       &lt;/Location&gt;
260     </example>
261   </section>
262
263   <section id="overlapping-webspace"><title>Site Alanında Çakışma</title>
264     <p>Belli bölümler ve yönergeler değerlendirilirken çakışan iki URL bir URL
265     olarak dikkate alınır. <directive type="section" module="core"
266     >Location</directive> yönergesi için bu şöyle olurdu:</p>
267
268     <example>
269       &lt;Location /foo&gt;<br />
270       &lt;/Location&gt;<br />
271       &lt;Location /foo/bar&gt;<br />
272       &lt;/Location>
273     </example>
274
275     <p>Diğer yandan <directive type="section" module="mod_alias">Takma
276       adlar</directive> tam tersi eşlenir:</p>
277
278     <example>
279       Alias /foo/bar /srv/www/uncommon/bar<br />
280       Alias /foo /srv/www/common/foo<br />
281     </example>
282
283     <p>Aynısı <directive module="mod_proxy">ProxyPass</directive>
284       yönergeleri için de geçerlidir:</p>
285
286     <example>
287       ProxyPass /special-area http://special.example.com smax=5 max=10<br />
288       ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
289     </example>
290   </section>
291
292   <section id="wildcards">
293     <title>Dosya Adı Şablonları ve Düzenli İfadeler</title>
294
295     <p><directive type="section" module="core">Directory</directive>,
296       <directive type="section" module="core">Files</directive> ve
297       <directive type="section" module="core">Location</directive>
298       yönergelerinde, Standart C kütüphanesindeki <code>fnmatch</code>
299       işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "*"
300       karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek
301       tek karakterlerle ve "[<em>seq</em>]" kalıbı ise <em>seq</em> içindeki
302       her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile
303       eşleşmez; açıkça belirtilmesi gerekir.</p>
304
305     <p>Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının
306       bir düzenli ifade karşılığı vardır. <directive type="section"
307       module="core">DirectoryMatch</directive>, <directive type="section"
308       module="core">FilesMatch</directive> ve <directive type="section"
309       module="core">LocationMatch</directive> yönergelerinde gerekli
310       eşleşmeleri seçmek için perl uyumlu <glossary ref="regex">düzenli
311       ifadelerin</glossary> kullanımına izin verilir. Ayrıca, yönergelerin
312       uygulanışının düzenli ifade bölümleri kullanılarak nasıl
313       değiştirileceğini öğrenmek için, aşağıda, yapılandırmanın
314       katıştırılmasıyla ilgili bölüme de bakınız.</p>
315
316     <p>Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya
317       ismi kalıpları şöyle kullanılabilirdi:</p>
318
319     <example>
320       &lt;Directory /home/*/public_html&gt;<br />
321       <indent>
322         Options Indexes<br />
323       </indent>
324       &lt;/Directory&gt;
325     </example>
326
327     <p>Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına
328       erişimi bir defada yasaklayabiliriz:</p>
329
330     <example>
331       &lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;<br />
332       <indent>
333         Order allow,deny<br />
334         Deny from all<br />
335       </indent>
336       &lt;/FilesMatch&gt;
337     </example>
338   </section>
339
340   <section id="expressions"><title>Mantıksal İfadeler</title>
341     <p><directive type="section" module="core">If</directive> yönergesi bir
342       mantıksal ifade olarak belirtilebilen bir kurala bağlı olarak
343       yapılandırmayı değiştirebilir. Örneğin, aşağıdaki yapılandırmada,
344       <code>HTTP Referer</code> başlığı "http://www.example.com/" ile
345       başlamıyorsa erişimi yasaklar.</p>
346
347     <example>
348     &lt;If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')"&gt;<br />
349     <indent>
350       Require all denied<br />
351     </indent>
352     &lt;/If&gt;
353     </example>
354   </section>
355
356   <section id="whichwhen"><title>Ne, Ne Zaman Kullanılır?</title>
357     <p>Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim
358       yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere
359       uygulanacak yönergeler için daima <directive type="section" module="core"
360       >Directory</directive> veya <directive type="section" module="core"
361       >Files</directive> kullanılır. Dosya sisteminde bulunmayan nesnelere
362       (bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak
363       yönergeler için ise <directive type="section" module="core"
364       >Location</directive> kullanılır.</p>
365
366     <p>Dosya sistemindeki nesnelere erişimi kısıtlarken asla
367       <directive type="section" module="core">Location</directive>
368       kullanmamak önemlidir. Bunun sebebi farklı site alanı konumlarının
369       (URL’ler) aynı dosya sistemi konumuna eşlenebilmesi dolayısıyla
370       kısıtlamalarınızın etrafından dolaşılabilmesine izin vermesidir.
371       Örneğin, aşağıdaki yapılandırmayı ele alalım:</p>
372
373     <example>
374       &lt;Location /dir/&gt;<br />
375       <indent>
376         Order allow,deny<br />
377         Deny from all<br />
378       </indent>
379       &lt;/Location&gt;
380     </example>
381
382     <p><code>http://siteniz.mesela.dom/dir/</code> için bir istek yapılmışsa
383       bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa
384       ne olacak? Kısıtlamanız, istek
385       <code>http://siteniz.mesela.dom/DIR/</code>
386       şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <directive
387       type="section" module="core">Directory</directive> yönergesi isteğin
388       nasıl yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe
389       uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik
390       bağlar kullanılarak aynı dizin dosya sisteminin bir çok yerine
391       yerleştirilebilir. <directive type="section" module="core"
392       >Directory</directive> yönergesi dosya yolunu sıfırlamaksızın sembolik
393       bağları izleyecektir. Bu bakımdan, en yüksek seviyede güvenlik için uygun
394       <directive module="core">Options</directive> yönergesi ile sembolik
395       bağların izlenmesi devredışı bırakılabilir.)</p>
396
397     <p>Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi
398       kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını düşünüyor
399       olabilirsiniz, fakat aynı site alanını çok sayıda dosya sistemi konumuna
400       eşleyecek daha bir sürü yol bulunduğunu unutmayınız. Bu bakımdan dosya
401       sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını
402       kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır.
403       Yapılandırma kısıtlamalarının bir <code>&lt;Location/&gt;</code> bölümü
404       içine koyulması, bu bölüme konan yönergelerin etki alanının belli bir URL
405       ile sınırlı olmaması nedeniyle mükemmelen güvenlidir.</p>
406   </section>
407
408   <section id="nesting"><title>Bölüm iç içeliği</title>
409     <p>Bazı bölüm türleri başka bölüm türlerinin içinde olabilir. Bir yandan,
410       <directive type="section" module="core">Files</directive> bölümü
411       <directive type="section" module="core">Directory</directive> bölümünün
412       içinde bulunabilirken diğer yandan bir <directive type="section"
413       module="core">If</directive> bölümü <directive type="section"
414       module="core">Directory</directive>, <directive type="section"
415       module="core">Location</directive> ve <directive
416       type="section" module="core">Files</directive> bölümlerinde bulunabilir.
417       Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda davranır.</p>
418
419     <p>İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına
420       yerleştirilir.</p>
421   </section>
422
423 </section>
424
425 <section id="virtualhost"><title>Sanal Konaklar</title>
426
427     <p><directive type="section" module="core">VirtualHost</directive>
428       taşıyıcısının içinde belli bir konağa uygulanan yönergeler bulunur.
429       Aynı makinede çok sayıda konağı farklı yapılandırmalarla  sunuyorsanız
430       bu taşıyıcı çok işinize yarar. Daha fazla bilgi için
431       <a href="vhosts/">Sanal Konak Belgeleri</a> bölümüne bakınız.</p>
432 </section>
433
434 <section id="proxy"><title>Vekil</title>
435     <p><directive type="section" module="mod_proxy">Proxy</directive>
436       ve <directive type="section" module="mod_proxy">ProxyMatch</directive>
437       taşıyıcıları, sadece belli bir URL ile eşleşen <module>mod_proxy</module>
438       vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma
439       yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma
440       <code>example.com</code> sitesine erişim için vekil sunucunun
441       kullanılmasını engelleyecektir.</p>
442
443     <example>
444       &lt;Proxy http://example.com/*&gt;<br />
445       <indent>
446         Order allow,deny<br />
447         Deny from all<br />
448       </indent>
449       &lt;/Proxy&gt;
450     </example>
451 </section>
452
453 <section id="whatwhere"><title>Hangi Yönergelere İzin Veriliyor?</title>
454     <p>Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini
455       öğrenmek için yönerge <a href="mod/directive-dict.html#Context"
456       >bağlamına</a> bakınız. <directive type="section"
457       module="core">Directory</directive> bölümlerinde
458       izin verilen herşeye sözdizimsel olarak ayrıca
459       <directive type="section" module="core">DirectoryMatch</directive>,
460       <directive type="section" module="core">Files</directive>,
461       <directive type="section" module="core">FilesMatch</directive>,
462       <directive type="section" module="core">Location</directive>,
463       <directive type="section" module="core">LocationMatch</directive>,
464       <directive type="section" module="mod_proxy">Proxy</directive>
465       ve <directive type="section" module="mod_proxy">ProxyMatch</directive>
466       bölümlerinde de izin verilir. Yine de bazı istisnai durumlar
467       mevcuttur:</p>
468
469     <ul>
470       <li><directive module="core">AllowOverride</directive> yönergesi sadece
471       <directive type="section" module="core">Directory</directive>
472       bölümlerinde çalışır.</li>
473
474       <li><directive module="core">Options</directive> yönergesinin
475       <code>FollowSymLinks</code> ve <code>SymLinksIfOwnerMatch</code>
476       seçenekleri sadece <directive type="section" module="core"
477       >Directory</directive> bölümlerinde veya <code>.htaccess</code>
478       dosyalarında çalışır.</li>
479
480       <li><directive module="core">Options</directive> yönergesi
481       <directive type="section" module="core">Files</directive> ve
482       <directive type="section" module="core">FilesMatch</directive>
483       bölümlerinde kullanılamaz.</li>
484     </ul>
485 </section>
486
487 <section id="mergin"><title>Bölümler Nasıl Katıştırılır?</title>
488
489     <p>Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma
490       yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi
491       nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.</p>
492
493     <p>Yapılandırma bölümlerinin katıştırılma sırası şöyledir:</p>
494
495     <ol>
496       <li><directive type="section"
497       module="core">Directory</directive> (düzenli ifadeler hariç)
498       ve <code>.htaccess</code> aynı anda işleme sokulur
499       (<code>.htaccess</code> ile eğer izin verilmişse <directive
500       type="section" module="core">Directory</directive> içindeki bazı
501       yönergeler geçersiz kılınabileceği için).</li>
502
503       <li><directive type="section" module="core">DirectoryMatch</directive>
504       (ve <code>&lt;Directory ~&gt;</code>).</li>
505
506       <li><directive type="section" module="core">Files</directive> ve
507       <directive type="section" module="core">FilesMatch</directive> aynı anda
508       işleme sokulur.</li>
509
510       <li><directive type="section" module="core">Location</directive>
511       ve <directive type="section" module="core">LocationMatch</directive>
512       aynı anda işleme sokulur.</li>
513
514       <li><directive type="section" module="core">If</directive>
515       </li>
516     </ol>
517
518     <p><directive type="section" module="core">Directory</directive>
519       bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
520       sıraya göre işleme sokulurlar. Yukarıda 1. grup olan <directive
521       type="section" module="core">Directory</directive> bölümü en kısa dizin
522       elemanından en uzun dizin elemanına doğru işleme sokulur. Yani, örneğin,
523       <code>&lt;Directory /var/web/dir&gt;</code> bölümü <code>&lt;Directory
524       /var/web/dir/subdir&gt;</code> bölümünden önce işleme sokulacaktır. Eğer
525       aynı uzunlukta çok sayıda dizin varsa <directive type="section"
526       module="core">Directory</directive> bölümleri yapılandırma dosyasında
527       bulundukları sıraya göre işleme sokulurlar. <directive
528       module="core">Include</directive> yönergeleri ile yapılandırmaya dahil
529       edilen dosyaların içerikleri <directive module="core">Include</directive>
530       yönergesinin bulunduğu yere konulduktan sonra işleme sokulurlar.</p>
531
532     <p><directive type="section" module="core">VirtualHost</directive>
533       bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki
534       karşılıklarından <em>sonra</em> uygulanırlar.</p>
535
536     <p>İstek <module>mod_proxy</module> tarafından sunulduğu takdirde,
537       <directive module="mod_proxy" type="section">Proxy</directive> taşıyıcısı
538       işlem sırasında <directive module="core" type="section"
539       >Directory</directive> taşıyıcısının yerini alır.</p>
540
541     <p>Sonraki bölümler öncekileri geçersiz kılmak üzere işleme alınırlarsa da
542       her modül bu geçersiz kılmaya sebep olan formu yorumlamaktan sorumludur.
543       Belli bir modülülün yönergeleri bulunan sonraki yapılandırma bölümleri,
544       bazı yönergelerin, tüm yönergelerin veya modül yapılandırmasının
545       tamamının sonraki bağlamda açıkça listelenmiş modül öntanımlıları ve
546       yönergelerle bir kavramsal "katıştırmasına" sebep olabilir.</p>
547
548     <note><title>Bazı Teknik Bilgiler</title>
549       Aslında, isim dönüşüm aşamasından (<code>Aliases</code> ve
550       <code>DocumentRoots</code>, URL’leri dosya isimlerine eşlemek için
551       kullanılırken) hemen önce uygulanan bir
552       <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code> dizisi
553       vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan sonra
554       tamamen elden çıkarılır.
555     </note>
556
557   <section id="merge-examples"><title>Bazı Örnekler</title>
558
559     <p>Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin aynı
560       isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler A &gt; B &gt; C
561       &gt; D &gt; E sırasıyla uygulanacaktır.</p>
562
563     <example>
564       &lt;Location /&gt;<br />
565       E<br />
566       &lt;/Location&gt;<br />
567       <br />
568       &lt;Files f.html&gt;<br />
569       D<br />
570       &lt;/Files&gt;<br />
571       <br />
572       &lt;VirtualHost *&gt;<br />
573       &lt;Directory /a/b&gt;<br />
574       B<br />
575       &lt;/Directory&gt;<br />
576       &lt;/VirtualHost&gt;<br />
577       <br />
578       &lt;DirectoryMatch "^.*b$"&gt;<br />
579       C<br />
580       &lt;/DirectoryMatch&gt;<br />
581       <br />
582       &lt;Directory /a/b&gt;<br />
583       A<br />
584       &lt;/Directory&gt;<br />
585       <br />
586     </example>
587
588     <p>Daha somut bir örnek olarak aşağıdakini ele alalım.
589       <directive module="core" type="section">Directory</directive>
590       bölümlerindeki erişim sınırlamaları ne olursa olsun <directive
591       module="core" type="section">Location</directive> bölümü son olarak
592       değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir.
593       Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle dikkatli
594       olmalısınız!</p>
595
596     <example>
597     &lt;Location /&gt;<br />
598     <indent>
599       Order deny,allow<br />
600       Allow from all<br />
601     </indent>
602     &lt;/Location&gt;<br />
603     <br />
604     # Alooo!  Bu &lt;Directory&gt; bölümünün hiçbir hükmü yok.<br />
605     &lt;Directory /&gt;<br />
606     <indent>
607       Order allow,deny<br />
608       Allow from all<br />
609       Deny from kkadam.mesela.dom<br />
610     </indent>
611     &lt;/Directory&gt;
612     </example>
613   </section>
614
615 </section>
616 </manualpage>