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