1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
4 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>Yapılandırma Bölümleri - Apache HTTP Sunucusu Sürüm 2.4</title>
11 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
14 <script src="./style/scripts/prettify.min.js" type="text/javascript">
17 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
18 <body id="manual-page"><div id="page-header">
19 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
20 <p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
21 <img alt="" src="./images/feather.png" /></div>
22 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
24 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Yapılandırma Bölümleri</h1>
26 <p><span>Mevcut Diller: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
27 <a href="./fr/sections.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
28 <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
29 <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
30 <a href="./tr/sections.html" title="Türkçe"> tr </a></p>
33 <p><a href="configuring.html">Yapılandırma dosyaları</a>ndaki
34 yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler,
35 dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu
36 belgede, yapılandırma bölümü taşıyıcılarınının veya
37 <code>.htaccess</code> dosyalarının, yapılandırma dosyalarındaki diğer
38 yönergelerin etki alanlarını değiştirtirmek için nasıl kullanılacağı
41 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Yapılandırma Bölümü Taşıyıcılarının Türleri</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#file-and-web">Dosya Sistemi, Site Alanı ve Mantıksal İfadeler</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Sanal Konaklar</a></li>
44 <li><img alt="" src="./images/down.gif" /> <a href="#proxy">Vekil</a></li>
45 <li><img alt="" src="./images/down.gif" /> <a href="#whatwhere">Hangi Yönergelere İzin Veriliyor?</a></li>
46 <li><img alt="" src="./images/down.gif" /> <a href="#merging">Bölümler Nasıl Katıştırılır?</a></li>
47 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
48 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
50 <h2><a name="types" id="types">Yapılandırma Bölümü Taşıyıcılarının Türleri</a></h2>
52 <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#files"><Files></a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#if"><If></a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code></li><li><code class="directive"><a href="./mod/core.html#location"><Location></a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code></li></ul></td></tr></table>
54 <p>İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için
55 değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu
56 taşıyıcılarla eşleşen istekler için uygulanır. Diğer yandan,
57 <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
58 <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> ve
59 <code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
60 taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken
61 değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar
62 sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. Aksi
63 takdirde, içerdikleri yönergeler yok sayılır.</p>
65 <p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> yönergesi
66 sadece <code class="program"><a href="./programs/httpd.html">httpd</a></code> komut satırında uygun parametreler
67 tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki
68 yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece
69 sunucu <code>httpd -DClosedForNow</code> komut satırı ile başlatıldığı
70 takdirde mümkün olur:</p>
72 <pre class="prettyprint lang-config"><IfDefine ClosedForNow>
73 Redirect "/" "http://otherserver.example.com/"
74 </IfDefine></pre>
77 <p><code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> yönergesi
78 sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde
79 uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan
80 olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
81 dosyasında yönergeden önce o modüle ilişkin bir <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> satırının bulunması gerekir. Bu
82 yönergeyi sadece belli bir modülün varlığının veya yokluğunun
83 yapılandırma dosyanızın çalışmasını etkilememesini istediğiniz durumlarda
84 kullanmalısınız. Eksik modüllerle ilgili hata iletilerini
85 engellediğinden, taşıyıcı içine, her zaman çalışması istenen yönergeler
88 <p>Aşağıdaki örnekte, <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfile">MimeMagicFile</a></code> yönergesi sadece
89 <code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> modülü mevcutsa uygulanacaktır.</p>
91 <pre class="prettyprint lang-config"><IfModule mod_mime_magic.c>
92 MimeMagicFile "conf/magic"
93 </IfModule></pre>
96 <p><code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
97 yönergesi sunucunun belli bir sürümünün çalıştırılması halinde
98 uygulanabilecek yönergeleri içerebilmesi dışında <code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code> ve <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> yönergeleri gibidir.
99 <code class="module"><a href="./mod/mod_version.html">mod_version</a></code> modülü farklı httpd sürümleri ve farklı
100 yapılandırmalarla büyük ağlarda çalışmayı mümkün kılmak veya sürüm
101 denemeleri yapabilmek amacıyla tasarlanmıştır.</p>
103 <pre class="prettyprint lang-config"><IfVersion >= 2.4>
104 # burası sadece 2.4.0 veya daha üstü sürümlerde
106 </IfVersion></pre>
109 <p><code class="directive"><a href="./mod/core.html#ifdefine"><IfDefine></a></code>,
110 <code class="directive"><a href="./mod/core.html#ifmodule"><IfModule></a></code> ve
111 <code class="directive"><a href="./mod/mod_version.html#ifversion"><IfVersion></a></code>
112 yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir.
113 Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir
114 diğerinin içinde kullanılabilirler.</p>
115 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
116 <div class="section">
117 <h2><a name="file-and-web" id="file-and-web">Dosya Sistemi, Site Alanı ve Mantıksal İfadeler</a></h2>
120 <p>En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki
121 veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte
122 kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek
123 önemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size
124 gösterilen halidir. Örneğin, öntanımlı kurulumda Apache httpd, Unix
125 sistemlerinde <code>/usr/local/apache2</code> altındayken Windows
126 sistemlerinde <code>"c:/Program Files/Apache Group/Apache2"</code>
127 altındadır. (Bilgi: Windows için bile, Apache httpd yapılandırma
128 dosyalarında dosya yolu belirtilirken tersbölü değil normal bölü
129 karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye
130 sunulan dizin ağacıdır. Yani, site alanı içindeki <code>/dir/</code>
131 dizini, Apache httpd’nin Unix üzerinde dosya sistemine öntanımlı olarak
132 kurulduğu yer göz önüne alınarak, dosya sistemindeki
133 <code>/usr/local/apache2/htdocs/dir/</code> dizinine karşılıktır. Site
134 sayfaları veritabanlarından veya başka yerlerden devingen olarak
135 üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi
136 gerekli değildir.</p>
138 <h3><a name="filesystem" id="filesystem">Dosya Sistemi Taşıyıcıları</a></h3>
140 <p><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
141 ve <code class="directive"><a href="./mod/core.html#files"><Files></a></code>
142 taşıyıcıları, <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılıkları
143 ile beraber, yönergeleri dosya sisteminin parçalarına uygularlar. Bir
144 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümü
145 içindeki yönergeler belli bir dosya sistemi dizinine ve onun alt
146 dizinlerine uygulanır. Aynı etki <a href="howto/htaccess.html">.htaccess
147 dosyaları</a> kullanılarak da sağlanabilir. Örneğin aşağıdaki
148 yapılandırmada, <code>/var/web/dir1</code> dizini ve alt dizinlerinde
149 dizin içeriğinin listelenmesi etkin kılınmaktadır.</p>
151 <pre class="prettyprint lang-config"><Directory "/var/web/dir1">
153 </Directory></pre>
156 <p>Bir <code class="directive"><a href="./mod/core.html#files"><Files></a></code> bölümü
157 içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi
158 belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma
159 yönergeleri yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde
160 <code>gizli.html</code> isimli dosyalara nerede bulunursa bulunsun
161 erişime izin vermeyecektir.</p>
163 <pre class="prettyprint lang-config"><Files "gizli.html">
168 <p>Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar
169 için <code class="directive"><a href="./mod/core.html#files"><Files></a></code> ve
170 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümleri
171 birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma
172 <code>/var/web/dir1/gizli.html</code>,
173 <code>/var/web/dir1/subdir2/gizli.html</code>,
174 <code>/var/web/dir1/subdir3/gizli.html</code> ve
175 <code>/var/web/dir1/</code> altında bulunabilecek diğer tüm
176 <code>gizli.html</code> dosyalarına erişimi yasaklar.</p>
178 <pre class="prettyprint lang-config"><Directory "/var/web/dir1"><br />
179 <Files "gizli.html"><br />
182 </Directory></pre>
186 <h3><a name="webspace" id="webspace">Site Alanı Taşıyıcıları</a></h3>
188 <p><code class="directive"><a href="./mod/core.html#location"><Location></a></code> yönergesi
189 ve yönergenin <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılığı
190 site alanındaki içerik için yapılandırmayı değiştirir. Örneğin aşağıdaki
191 yapılandırma, <code>/gizli</code> ile başlayan URL yollarına erişimi
192 engeller. Özellikle, <code>http://siteniz.mesela.dom/gizli</code>,
193 <code>http://siteniz.mesela.dom/gizli123</code> ve
194 <code>http://siteniz.mesela.dom/gizli/dir/dosya.html</code>
195 istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de
198 <pre class="prettyprint lang-config"><LocationMatch "^/gizli">
200 </LocationMatch></pre>
203 <p>Dosya sistemi ile etkileşime girmeyen herşey için
204 <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
205 yönergesi gerekir. Aşağıdaki örnekte, belli bir URL’nin
206 <code class="module"><a href="./mod/mod_status.html">mod_status</a></code> modülü tarafından sağlanan bir dahili
207 Apache eylemcisine nasıl eşlenebileceği gösterilmiştir. Bu örnek
208 için dosya sisteminde <code>server-status</code> adında bir dosya
209 veya dizin bulunması gerekli değildir.</p>
211 <pre class="prettyprint lang-config"><Location "/server-status">
212 SetHandler server-status
213 </Location></pre>
217 <h3><a name="overlapping-webspace" id="overlapping-webspace">Site Alanında Çakışma</a></h3>
218 <p>Belli bölümler ve yönergeler değerlendirilirken çakışan iki URL bir URL
219 olarak dikkate alınır. <code class="directive"><a href="./mod/core.html#location"><Location></a></code> yönergesi için bu şöyle olurdu:</p>
221 <pre class="prettyprint lang-config"><Location "/foo">
223 <Location "/foo/bar">
224 </Location></pre>
227 <p>Diğer yandan <code class="directive"><a href="./mod/mod_alias.html#takma adlar"><Takma
228 adlar></a></code> tam tersi eşlenir:</p>
230 <pre class="prettyprint lang-config">Alias "/foo/bar" "/srv/www/uncommon/bar"
231 Alias "/foo" "/srv/www/common/foo"</pre>
234 <p>Aynısı <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code>
235 yönergeleri için de geçerlidir:</p>
237 <pre class="prettyprint lang-config">ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
238 ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On</pre>
242 <h3><a name="wildcards" id="wildcards">Dosya Adı Şablonları ve Düzenli İfadeler</a></h3>
245 <p><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>,
246 <code class="directive"><a href="./mod/core.html#files"><Files></a></code> ve
247 <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
248 yönergelerinde, Standart C kütüphanesindeki <code>fnmatch</code>
249 işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "*"
250 karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek
251 tek karakterlerle ve "[<em>seq</em>]" kalıbı ise <em>seq</em> içindeki
252 her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile
253 eşleşmez; açıkça belirtilmesi gerekir.</p>
255 <p>Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının
256 bir düzenli ifade karşılığı vardır. <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>, <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> ve <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code> yönergelerinde gerekli
257 eşleşmeleri seçmek için perl uyumlu <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli
258 ifadelerin</a> kullanımına izin verilir. Ayrıca, yönergelerin
259 uygulanışının düzenli ifade bölümleri kullanılarak nasıl
260 değiştirileceğini öğrenmek için, aşağıda, yapılandırmanın
261 katıştırılmasıyla ilgili bölüme de bakınız.</p>
263 <p>Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya
264 ismi kalıpları şöyle kullanılabilirdi:</p>
266 <pre class="prettyprint lang-config"><Directory "/home/*/public_html">
268 </Directory></pre>
271 <p>Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına
272 erişimi bir defada yasaklayabiliriz:</p>
274 <pre class="prettyprint lang-config"><FilesMatch "\.(?i:gif|jpe?g|png)$">
276 </FilesMatch></pre>
279 <p><strong>İsimli gruplar ve geriye başvurular</strong> içeren düzenli
280 ifadeler ortama eklenirken ilgili isimler büyük harfli yapılır. Böylece,
281 URL'lere ve dosya yolları elemanlarına <a href="expr.html">ifadelerin
282 içinden</a> ve <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> gibi modüllerden başvurmak
285 <pre class="prettyprint lang-config"><DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
286 require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
287 </DirectoryMatch></pre>
291 <h3><a name="expressions" id="expressions">Mantıksal İfadeler</a></h3>
292 <p><code class="directive"><a href="./mod/core.html#if"><If></a></code> yönergesi bir
293 mantıksal ifade olarak belirtilebilen bir kurala bağlı olarak
294 yapılandırmayı değiştirebilir. Örneğin, aşağıdaki yapılandırmada,
295 <code>HTTP Referer</code> başlığı "http://www.example.com/" ile
296 başlamıyorsa erişimi yasaklar.</p>
298 <pre class="prettyprint lang-config"><If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
304 <h3><a name="whichwhen" id="whichwhen">Ne, Ne Zaman Kullanılır?</a></h3>
305 <p>Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim
306 yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere
307 uygulanacak yönergeler için daima <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> veya <code class="directive"><a href="./mod/core.html#files"><Files></a></code> kullanılır. Dosya sisteminde bulunmayan nesnelere
308 (bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak
309 yönergeler için ise <code class="directive"><a href="./mod/core.html#location"><Location></a></code> kullanılır.</p>
311 <p>Dosya sistemindeki nesnelere erişimi kısıtlarken asla
312 <code class="directive"><a href="./mod/core.html#location"><Location></a></code>
313 kullanmamak önemlidir. Bunun sebebi farklı site alanı konumlarının
314 (URL’ler) aynı dosya sistemi konumuna eşlenebilmesi dolayısıyla
315 kısıtlamalarınızın etrafından dolaşılabilmesine izin vermesidir.
316 Örneğin, aşağıdaki yapılandırmayı ele alalım:</p>
318 <pre class="prettyprint lang-config"><Location "/dir/">
320 </Location></pre>
323 <p><code>http://siteniz.mesela.dom/dir/</code> için bir istek yapılmışsa
324 bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa
325 ne olacak? Kısıtlamanız, istek
326 <code>http://siteniz.mesela.dom/DIR/</code>
327 şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> yönergesi isteğin
328 nasıl yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe
329 uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik
330 bağlar kullanılarak aynı dizin dosya sisteminin bir çok yerine
331 yerleştirilebilir. <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> yönergesi dosya yolunu sıfırlamaksızın sembolik
332 bağları izleyecektir. Bu bakımdan, en yüksek seviyede güvenlik için uygun
333 <code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesi ile sembolik
334 bağların izlenmesi devredışı bırakılabilir.)</p>
336 <p>Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi
337 kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını düşünüyor
338 olabilirsiniz, fakat aynı site alanını çok sayıda dosya sistemi konumuna
339 eşleyecek daha bir sürü yol bulunduğunu unutmayınız. Bu bakımdan dosya
340 sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını
341 kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır.
342 Yapılandırma kısıtlamalarının bir <code><Location "/"></code> bölümü
343 içine koyulması, bu bölüme konan yönergelerin etki alanının belli bir URL
344 ile sınırlı olmaması nedeniyle mükemmelen güvenlidir.</p>
347 <h3><a name="nesting" id="nesting">Bölüm iç içeliği</a></h3>
348 <p>Bazı bölüm türleri başka bölüm türlerinin içinde olabilir. Bir yandan,
349 <code class="directive"><a href="./mod/core.html#files"><Files></a></code> bölümü
350 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümünün
351 içinde bulunabilirken diğer yandan bir <code class="directive"><a href="./mod/core.html#if"><If></a></code> bölümü <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>, <code class="directive"><a href="./mod/core.html#location"><Location></a></code> ve <code class="directive"><a href="./mod/core.html#files"><Files></a></code> bölümlerinde bulunabilir.
352 Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda davranır.</p>
354 <p>İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına
358 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
359 <div class="section">
360 <h2><a name="virtualhost" id="virtualhost">Sanal Konaklar</a></h2>
362 <p><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
363 taşıyıcısının içinde belli bir konağa uygulanan yönergeler bulunur.
364 Aynı makinede çok sayıda konağı farklı yapılandırmalarla sunuyorsanız
365 bu taşıyıcı çok işinize yarar. Daha fazla bilgi için
366 <a href="vhosts/">Sanal Konak Belgeleri</a> bölümüne bakınız.</p>
367 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
368 <div class="section">
369 <h2><a name="proxy" id="proxy">Vekil</a></h2>
370 <p><code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
371 ve <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>
372 taşıyıcıları, sadece belli bir URL ile eşleşen <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>
373 vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma
374 yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma
375 <code>example.com</code> sitesine erişim için vekil sunucunun
376 sadece ağdaki bazı kullanıcılar tarafından kullanılabilmesini sağlayacaktır.</p>
378 <pre class="prettyprint lang-config"><Proxy "http://www.example.com/*">
379 Require host bizimki.example.com
382 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
383 <div class="section">
384 <h2><a name="whatwhere" id="whatwhere">Hangi Yönergelere İzin Veriliyor?</a></h2>
385 <p>Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini
386 öğrenmek için yönerge <a href="mod/directive-dict.html#Context">bağlamına</a> bakınız. <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümlerinde
387 izin verilen herşeye sözdizimsel olarak ayrıca
388 <code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>,
389 <code class="directive"><a href="./mod/core.html#files"><Files></a></code>,
390 <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>,
391 <code class="directive"><a href="./mod/core.html#location"><Location></a></code>,
392 <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>,
393 <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code>
394 ve <code class="directive"><a href="./mod/mod_proxy.html#proxymatch"><ProxyMatch></a></code>
395 bölümlerinde de izin verilir. Yine de bazı istisnai durumlar
399 <li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesi sadece
400 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
401 bölümlerinde çalışır.</li>
403 <li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesinin
404 <code>FollowSymLinks</code> ve <code>SymLinksIfOwnerMatch</code>
405 seçenekleri sadece <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümlerinde veya <code>.htaccess</code>
406 dosyalarında çalışır.</li>
408 <li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesi
409 <code class="directive"><a href="./mod/core.html#files"><Files></a></code> ve
410 <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code>
411 bölümlerinde kullanılamaz.</li>
413 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
414 <div class="section">
415 <h2><a name="merging" id="merging">Bölümler Nasıl Katıştırılır?</a></h2>
417 <p>Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma
418 yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi
419 nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.</p>
421 <p>Yapılandırma bölümlerinin katıştırılma sırası şöyledir:</p>
424 <li><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> (düzenli ifadeler hariç)
425 ve <code>.htaccess</code> aynı anda işleme sokulur
426 (<code>.htaccess</code> ile eğer izin verilmişse <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> içindeki bazı
427 yönergeler geçersiz kılınabileceği için).</li>
429 <li><code class="directive"><a href="./mod/core.html#directorymatch"><DirectoryMatch></a></code>
430 (ve <code><Directory "~"></code>).</li>
432 <li><code class="directive"><a href="./mod/core.html#files"><Files></a></code> ve
433 <code class="directive"><a href="./mod/core.html#filesmatch"><FilesMatch></a></code> aynı anda
436 <li><code class="directive"><a href="./mod/core.html#location"><Location></a></code>
437 ve <code class="directive"><a href="./mod/core.html#locationmatch"><LocationMatch></a></code>
438 aynı anda işleme sokulur.</li>
440 <li><code class="directive"><a href="./mod/core.html#if"><If></a></code>
444 <p><code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
445 bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
446 sıraya göre işleme sokulurlar. Yukarıda 1. grup olan <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümü en kısa dizin
447 elemanından en uzun dizin elemanına doğru işleme sokulur. Yani, örneğin,
448 <code><Directory "/var/web/dir"></code> bölümü <code><Directory
449 "/var/web/dir/subdir"></code> bölümünden önce işleme sokulacaktır. Eğer
450 aynı uzunlukta çok sayıda dizin varsa <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> bölümleri yapılandırma dosyasında
451 bulundukları sıraya göre işleme sokulurlar. <code class="directive"><a href="./mod/core.html#include">Include</a></code> yönergeleri ile yapılandırmaya dahil
452 edilen dosyaların içerikleri <code class="directive"><a href="./mod/core.html#include">Include</a></code>
453 yönergesinin bulunduğu yere konulduktan sonra işleme sokulurlar.</p>
455 <p><code class="directive"><a href="./mod/core.html#virtualhost"><VirtualHost></a></code>
456 bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki
457 karşılıklarından <em>sonra</em> uygulanırlar.</p>
459 <p>İstek <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> tarafından sunulduğu takdirde,
460 <code class="directive"><a href="./mod/mod_proxy.html#proxy"><Proxy></a></code> taşıyıcısı
461 işlem sırasında <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code> taşıyıcısının yerini alır.</p>
463 <div class="note"><h3>Bazı Teknik Bilgiler</h3>
464 Aslında, isim dönüşüm aşamasından (<code>Aliases</code> ve
465 <code>DocumentRoots</code>, URL’leri dosya isimlerine eşlemek için
466 kullanılırken) hemen önce uygulanan bir
467 <code><Location></code>/<code><LocationMatch></code> dizisi
468 vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan sonra
469 tamamen elden çıkarılır.
472 <h3><a name="relationship-module-configuration" id="relationship-module-configuration">Modüllerle
473 yapılandırma bölümleri arasındaki ilişki</a></h3>
475 <p>Yapılandırma bölümlerini okurken örneğin <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>
476 gibi belli modüllerin yönergelerinin bu bölümlere nasıl katılacağı ve
477 ne zaman nasıl işleneceği gibi sorular sıkça aklımızdan geçer. Bunun
478 belli bir yanıtı yoktur ve biraz temel bilgi gerektirir. Her httpd
479 modülü yapılandırmasını kendi yönetir ve httpd.conf içindeki
480 yönergelerinin her biri belli bir bağlamdaki bir yapılandırmayı
481 belirtir. httpd bir komutu okunduğu sırada çalıştırmaz.</p>
483 <p>Çalışma anında, httpd çekirdeği geçerli isteğe hangilerinin
484 uygulanacağını belirlemek için yukarıda açıklanan sırada tanımlı
485 yapılandırma bölümlerini tekrar tekrar okur. Eşleşen ilk bölümün bu
486 istek için geçerli yapılandırmayı içerdiği varsayılır. Eğer alt
487 bölümlerden biri de eşleşmişse bu bölümlerde yönergeleri bulunan her
488 modüle yapılandırmasını iki bölüm arasında katıştırma şansı verilir.
489 Sonuç üçüncü bir yapılandırma olup işlem bütün yapılandırma bölümleri
490 değerlendirilene kadar sürer.</p>
492 <p>Yukarıdaki adımların ardından HTTP isteğiyle ilgili "asıl" işlem
493 başlar: her modül ondan istenen görevleri gerçekleştirme şansına sahip
494 olur. Nasıl davranacaklarını belirlemek için kendilerinin katıştırılmış
495 son yapılandırmalarını http çekirdeğinden alabilirler.</p>
497 <p>Sürecin tamamı bir örnekle görselleştirilebilir. Aşağıdaki örnekte
498 belli bir HTTP başlığını ayarlamak için <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code>
499 modülünün <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> yönergesi
500 kullanılmıştır. <code>/example/index.html</code> isteği için httpd
501 <code>CustomHeaderName</code> başlığına hangi değeri atayacaktır?
503 <pre class="prettyprint lang-config"><Directory "/">
504 Header set CustomHeaderName bir
505 <FilesMatch ".*">
506 Header set CustomHeaderName yedi
510 <Directory "/example">
511 Header set CustomHeaderName iki
512 </Directory></pre>
515 <li><code class="directive">Directory</code> "/" eşleşir ve ilk yapılandırma
516 olarak <code>CustomHeaderName</code> başlığı <code>bir</code>
517 değeriyle oluşturulur.</li>
519 <li><code class="directive">Directory</code> "/example" eşleşir ve
520 <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> modülünün koduna göre bir katıştırma
521 durumundan yeni değer eskiyi geçersiz kılacağından yeni bir
522 yapılandırma ile <code>CustomHeaderName</code> başlığının değeri
523 <code>iki</code> yapılır.</li>
525 <li><code class="directive">FilesMatch</code> ".*" eşleşir ve başka bir
526 katıştırma fırsatı doğar: <code>CustomHeaderName</code> başlığının
527 değeri <code>yedi</code> yapılır.</li>
529 <li>Neticede HHP isteğinin sonraki adımlarında
530 <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> çağrılıp <code>yedi</code> değeri
531 atanmış <code>CustomHeaderName</code> başlığını işleme sokması
532 istenecektir. <code class="module"><a href="./mod/mod_headers.html">mod_headers</a></code> normalde işini yapmak
533 için bu yapılandırmayı kullanacaktır. Fakat bundan, bir yönergenin
534 gerekli olmaması veya kullanımdan kaldırılması ve benzeri nedenlerle
535 yapılandırmada iptal edilmesi gibi daha karmaşık bir eylemi bir
536 modülün gerçekleştiremeyeceği anlamı çıkarılmamalıdır.</li>
539 <p><code class="directive">Directory</code> ile aynı katıştırma sırasından dolayı
540 bu durum .htaccess için de geçerlidir. Burada anlaşılması gereken husus,
541 <code class="directive">Directory</code> ve <code class="directive">FilesMatch</code>
542 gibi yapılandırma bölümlerinin <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code> veya <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> gibi modüle özgü
543 yönergelerle karşılaştırılmamasıdır, çünkü bunlar farklı seviyelerde
548 <h3><a name="merge-examples" id="merge-examples">Bazı Örnekler</a></h3>
550 <p>Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin aynı
551 isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler A > B > C
552 > D > E sırasıyla uygulanacaktır.</p>
554 <pre class="prettyprint lang-config"><Location "/">
558 <Files "f.html">
562 <VirtualHost *>
563 <Directory "/a/b">
568 <DirectoryMatch "^.*b$">
570 </DirectoryMatch>
572 <Directory "/a/b">
574 </Directory></pre>
577 <p>Daha somut bir örnek olarak aşağıdakini ele alalım.
578 <code class="directive"><a href="./mod/core.html#directory"><Directory></a></code>
579 bölümlerindeki erişim sınırlamaları ne olursa olsun <code class="directive"><a href="./mod/core.html#location"><Location></a></code> bölümü son olarak
580 değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir.
581 Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle dikkatli
584 <pre class="prettyprint lang-config"><Location "/">
588 # Alooo! Bu <Directory> bölümünün hiçbir hükmü yok.
589 <Directory "/">
592 Require not host kkadam.example.com
594 </Directory></pre>
600 <div class="bottomlang">
601 <p><span>Mevcut Diller: </span><a href="./en/sections.html" hreflang="en" rel="alternate" title="English"> en </a> |
602 <a href="./fr/sections.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
603 <a href="./ja/sections.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
604 <a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
605 <a href="./tr/sections.html" title="Türkçe"> tr </a></p>
606 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
607 <script type="text/javascript"><!--//--><![CDATA[//><!--
608 var comments_shortname = 'httpd';
609 var comments_identifier = 'http://httpd.apache.org/docs/2.4/sections.html';
611 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
612 d.write('<div id="comments_thread"><\/div>');
613 var s = d.createElement('script');
614 s.type = 'text/javascript';
616 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
617 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
620 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
622 })(window, document);
623 //--><!]]></script></div><div id="footer">
624 <p class="apache">Copyright 2016 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
625 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
626 if (typeof(prettyPrint) !== 'undefined') {