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>Apache’de Ortam Değişkenleri - 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>Apache’de Ortam Değişkenleri</h1> 23<div class="toplang"> 24<p><span>Mevcut Diller: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 26<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 27<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 28<a href="/tr/env.html" title="Türkçe"> tr </a></p> 29</div> 30 31 <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p> 32 33 <p>İlki, işletim sisteminin denetimindeki ortam değişkenleridir. Bu 34 değişkenlere değer atama işlemi sunucu başlatılmadan önce yapılır. 35 Bunlar yapılandırma dosyalarının içinde kullanılabilir. Ayrıca, 36 istenirse PassEnv yönergesi kullanılarak bunlar CGI betiklerine ve 37 SSI sayfalarına da aktarılabilir.</p> 38 39 <p>İkincisi ise, Apache HTTP Sunucusunun kendi ortam değişkenleridir. 40 Bu değişkenlerde saklanan bilgi erişim denetimi, günlük kaydı gibi 41 çeşitli işlemleri denetlemekte kullanılabilir. Değişkenler ayrıca, CGI 42 betikleri gibi harici uygulamalarla iletişim mekanizması olarak da 43 kullanılabilir. Bu belgede bu değişkenler üzerindeki işlemlere ve 44 kullanım şekillerine değinilmiştir.</p> 45 46 <p>Bu değişkenlere <em>ortam değişkenleri</em> dense de işletim sisteminin 47 ortam değişkenleri gibi değillerdir. Bunlar sadece Apache ortamında 48 geçerli değişkenler olup işletim sisteminin bu değişkenlerden haberi 49 olmaz. Sadece CGI betikleri ve SSI sayfaları gibi harici uygulamalar 50 tarafından üretilen ortam değişkenleri sistem ortamının değişkenleri 51 haline gelirler. İşletim sistemi ortamına çalışmakta olan sunucudan 52 müdahale etmek isterseniz işletim sisteminizin kabuğu tarafından sağlanan 53 standart ortam müdahale mekanizmalarını kullanmalısınız.</p> 54 </div> 55<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#setting">Ortam Değişkenlerinin Atanması</a></li> 56<li><img alt="" src="/images/down.gif" /> <a href="#using">Ortam Değişkenlerinin Kullanımı</a></li> 57<li><img alt="" src="/images/down.gif" /> <a href="#special">Özel Amaçlı Ortam Değişkenleri</a></li> 58<li><img alt="" src="/images/down.gif" /> <a href="#examples">Örnekler</a></li> 59</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div> 60<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 61<div class="section"> 62<h2><a name="setting" id="setting">Ortam Değişkenlerinin Atanması</a></h2> 63 64 <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/mod_cache.html">mod_cache</a></code></li><li><code class="module"><a href="/mod/mod_env.html">mod_env</a></code></li><li><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code></li><li><code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code></li><li><code class="module"><a href="/mod/mod_unique_id.html">mod_unique_id</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#setenvifnocase">SetEnvIfNoCase</a></code></li><li><code class="directive"><a href="/mod/mod_env.html#unsetenv">UnsetEnv</a></code></li></ul></td></tr></table> 65 66 <h3><a name="basic-manipulation" id="basic-manipulation">Temel Ortamda Değişiklik</a></h3> 67 68 69 <p>Apache ortamında bir ortam değişkenine müdahale etmenin en temel 70 yolu hiçbir koşula tabi olmayan <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> yönergesini kullanmaktır. Bu değişkenleri Apache 71 başlatılırken sistem ortam değişkenleri haline getirmek için 72 <code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code> yönergesi 73 kullanılabilir.</p> 74 75 76 <h3><a name="conditional" id="conditional">İsteğe Bağlı Şartlı Atamalar</a></h3> 77 78 79 <p>Esnekliği arttırmak için, <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> modülü ile 80 isteğin özelliklerine uygun olarak her isteğe özel değişkenler 81 atayabilmek mümkün kılınmıştır. Örneğin, bir değişken sadece isteği 82 yapan tarayıcıya özgü bir değerle veya sadece belli bir başlık 83 alanınına bağlı olarak atanabilir. Daha da esnek bir mekanizma, 84 ortam değişkeni atamak için <code>[E=...]</code> seçeneğinin 85 kullanıldığı <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> modülünün <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> yönergesi ile 86 sağlanmıştır.</p> 87 88 89 <h3><a name="unique-identifiers" id="unique-identifiers">Eşsiz Betimleyiciler</a></h3> 90 91 92 <p>Son olarak, <code class="module"><a href="/mod/mod_unique_id.html">mod_unique_id</a></code> <code>UNIQUE_ID</code> 93 ortam değişkenine her istek için o isteğin çok özel koşullar altında 94 tüm diğer istekler arasında eşsizliğini garanti edecek bir değer 95 atar.</p> 96 97 98 <h3><a name="standard-cgi" id="standard-cgi">Standart CGI Değişkenleri</a></h3> 99 100 101 <p>Apache yapılandırmasıyla atanan ve kabuğa aktarılan ortam 102 değişkenlerinden başka <a href="http://www.ietf.org/rfc/rfc3875">CGI 103 Belirtimi</a>nin gerektirdiği istekler hakkında temel bilgileri 104 içeren ortam değişkenlerinin CGI betikleri ve SSI sayfalarınca 105 atanabilmesi sağlanmıştır.</p> 106 107 108 <h3><a name="caveats" id="caveats">Bazı Yetersizlikler</a></h3> 109 110 111 <ul> 112 <li>Standart CGI değişkenlerini ortam değişkenlerine müdahale 113 yönergelerini kullanarak değiştirmek veya geçersiz kılmak mümkün 114 değildir.</li> 115 116 <li>CGI betiklerini çalıştırmak için <code class="program"><a href="/programs/suexec.html">suexec</a></code> 117 kullanıldığında ortam, CGI betikleri çalıştırılmadan önce 118 <em>güvenilir</em> değişkenler kalacak şekilde temizlenir. 119 <em>Güvenilir</em> değişken listesi <code>suexec.c</code> içinde 120 derleme sırasında tanımlanır.</li> 121 122 <li>Taşınabilirlik adına, ortam değişkenlerinin isimleri sadece 123 harfler, rakamlar ve alt çizgi imlerini içerebilir. Bunlara ek 124 olarak ismin ilk karakteri bir rakam olmamalıdır. Değişkenler CGI 125 betiklerine ve SSI sayfalarına aktarılırken bu sınırlamalara uygun 126 olmayan karakterlerin yerlerine alt çizgi imleri konur.</li> 127 128 <li>Bir özel durum, CGI betiklerine ve benzerlerine ortam 129 değişkenleri üzerinden aktarılan HTTP başlıklarıdır (aşağıya 130 bakın). Bunlar büyük harfe dönüştürülür ve sadece tireler 131 altçizgilere dönüştürülür. Eğer HTTP başlığı geçersiz karakter 132 içeriyorsa başlığın tamamı yoksayılır. Böyle bir durumda ne 133 yapılacağı öğrenmek için <a href="#fixheader">aşağıya</a> 134 bakın.</li> 135 136 <li>İsteklerin işleme konması sırasında <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> yönergesi geç çalıştırılır, 137 yani <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> ve 138 <code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> gibi 139 yönergeler <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> ile 140 atanan değişken değerlerini görmezler.</li> 141 142 <li><code class="module"><a href="/mod/mod_autoindex.html">mod_autoindex</a></code> ile dizin listesi oluşturulması 143 veya bir <code class="directive"><a href="/mod/mod_dir.html#directoryindex">DirectoryIndex</a></code> 144 için yol aranması gibi bir dahili <a class="glossarylink" href="/glossary.html#subrequest" title="sözlüğe bakınız">alt 145 istek</a> için sunucu yol araması yaparken isteklere özgü 146 ortam değişkenleri alt istekler tarafından miras alınMAZ. Buna ek 147 olarak, <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> modülünün devreye girdiği API 148 fazlarından dolayı yapılan alt isteklerde 149 <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergeleri 150 ayrı ayrı değerlendirilMEZ.</li> 151 </ul> 152 153 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 154<div class="section"> 155<h2><a name="using" id="using">Ortam Değişkenlerinin Kullanımı</a></h2> 156 157 158 <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/mod_authz_host.html">mod_authz_host</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_ext_filter.html">mod_ext_filter</a></code></li><li><code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code></li><li><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="/mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code></li><li><code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="/mod/mod_access_compat.html#deny">Deny</a></code></li><li><code class="directive"><a href="/mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code></li><li><code class="directive"><a href="/mod/mod_headers.html#header">Header</a></code></li><li><code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code></li><li><code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code></li></ul></td></tr></table> 159 160 <h3><a name="cgi-scripts" id="cgi-scripts">CGI Betikleri</a></h3> 161 162 163 <p>Ortam değişkenlerinin başlıca amaçlarından biri CGI betikleriyle 164 iletişim kurmaktır. Yukarıda bahsedildiği gibi CGI betiklerine 165 aktarılan ortam Apache yapılandırmasında atanan değişkenlere ek 166 olarak istek hakkında standart temel bilgileri de içerir. Bu konuda 167 ayrıntılı bilgi edinmek için <a href="howto/cgi.html">CGI 168 Öğreticisi</a>ne bakabilirsiniz.</p> 169 170 171 <h3><a name="ssi-pages" id="ssi-pages">SSI Sayfaları</a></h3> 172 173 174 <p>Sunucu tarafında <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> modülünün 175 <code>INCLUDES</code> süzgeci ile yorumlanan SSI sayfalarında ortam 176 değişkenleri <code>echo</code> elemanı ile basılabilir ve sayfayı 177 isteğin özelliklerine uygun olarak oluşturmak için ortam 178 değişkenleri akış denetim elemanları içinde kullanılabilir. Apache 179 ayrıca, yukarıda bahsedildiği gibi standart CGI ortam değişkenli SSI 180 sayfalarını da sağlayabilmektedir. Daha ayrıntılı bilgi edinmek için 181 <a href="howto/ssi.html">SSI Öğreticisi</a>ne bakabilirsiniz.</p> 182 183 184 <h3><a name="access-control" id="access-control">Erişim Denetimi</a></h3> 185 186 187 <p><code>allow from env=</code> ve <code>deny from env=</code> 188 yönergeleri sayesinde ortam değişkenlerine dayalı olarak sunucuya 189 erişim denetim altında tutulabilir. Bunlar <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile birlikte 190 kullanılmak suretiyle sunucuya erişim isteğin özelliklerine bağlı 191 olarak daha esnek bir tarzda denetlenebilir. Örneğin, belli bir 192 tarayıcının sunucuya erişimi bu yönergelerle engellenebilir.</p> 193 194 195 <h3><a name="logging" id="logging">Şartlı Günlük Kaydı</a></h3> 196 197 198 <p>Ortam değişkenleri <code class="directive"><a href="/mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinin <code>%e</code> seçeneği 199 kullanılarak erişim günlüğüne kaydedilebilir. Bundan başka, 200 <code class="directive"><a href="/mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi 201 sayesinde isteklerin günlüğe kaydedilip kaydedilmeyeceğine ortam 202 değişkenlerine dayalı olarak karar verilmesi sağlanabilir. Bunlar 203 <code class="directive"><a href="/mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile 204 birlikte kullanılmak suretiyle günlük kayıtları isteğin 205 özelliklerine bağlı olarak daha esnek bir tarzda denetlenebilir. 206 Örneğin, <code>gif</code> uzantılı dosyalar için yapılan isteklerin 207 günlüğe kaydedilmemesi veya sadece alt ağınızın dışından gelen 208 isteklerin günlüğe kaydedilmesini isteyebilirsiniz.</p> 209 210 211 <h3><a name="response-headers" id="response-headers">Şartlı Yanıt Başlıkları</a></h3> 212 213 214 <p><code class="directive"><a href="/mod/mod_headers.html#header">Header</a></code> yönergesi belli 215 bir yanıt başlığının istemciye gönderilip gönderilmeyeceğine belli 216 bir ortam değişkeninin varlığına bakarak karar vermek için 217 kullanılabilir. Böylece örneğin, belli bir başlığın istemciye 218 gönderilmesine istemciden belli bir başlığın alınıp alınmadığına 219 bağlı olarak karar verilebilir.</p> 220 221 222 223 <h3><a name="external-filter" id="external-filter">Harici Süzgeçlerin Etkinleştirilmesi</a></h3> 224 225 226 <p><code class="module"><a href="/mod/mod_ext_filter.html">mod_ext_filter</a></code> tarafından yapılandırılan harici 227 süzgeçler <code class="directive"><a href="/mod/mod_ext_filter.html#extfilterdefine">ExtFilterDefine</a></code> yönergesinin <code>disableenv=</code> ve 228 <code>enableenv=</code> seçenekleri kullanılarak bir ortam 229 değişkenine bağlı olarak etkinleştirilebilir.</p> 230 231 232 <h3><a name="url-rewriting" id="url-rewriting">URL Kurgulaması</a></h3> 233 234 235 <p><code class="directive"><a href="/mod/mod_rewrite.html#rewritecond">RewriteCond</a></code> 236 yönergesinin <em>SınamaDizgesi</em> olarak kullanılan 237 <code>%{ENV:<em>değişken</em>}</code> biçemi 238 <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> yeniden yazma motorunun ortam 239 değişkenlerine bağlı kararlar almasını mümkün kılar. Yalnız şuna 240 dikkat ediniz: <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>’ta <code>ENV:</code> 241 öneki kullanılmadan belirtilen değişkenler ortam değişkenleri 242 değillerdir. Onlar <code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code>’a özgü diğer 243 modüllerden erişilemeyen özel değişkenlerdir.</p> 244 245 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 246<div class="section"> 247<h2><a name="special" id="special">Özel Amaçlı Ortam Değişkenleri</a></h2> 248 249 250 <p>Birlikte çalışabilirlik sorunları Apache’nin belli istemcilerle 251 veri alışverişi sırasında davranışını değiştirmesini gerektirebilir. 252 Genellikle <code class="directive"><a href="/mod/mod_env.html#setenv">SetEnv</a></code> ve 253 <code class="directive"><a href="/mod/mod_env.html#passenv">PassEnv</a></code> yönergelerinden 254 başka <code class="directive"><a href="/mod/mod_setenvif.html#browsermatch">BrowserMatch</a></code> 255 gibi yönergelerle ortam değişkenleri atanarak bunu sağlayan 256 mekanizmaların olabildiğince esnek davranabilmesi sağlanabilir.</p> 257 258 <h3><a name="downgrade" id="downgrade"><code>downgrade-1.0</code></a></h3> 259 260 261 <p>İstek, daha yüksek bir HTTP protokolüyle yapılmış olsa bile 262 HTTP/1.0 isteği olarak ele alınır.</p> 263 264 265 <h3><a name="force-gzip" id="force-gzip"><code>force-gzip</code></a></h3> 266 267 <p><code>DEFLATE</code> süzgeci etkinse tarayıcının tercih ettiği 268 kodlama koşulsuz olarak yoksayılarak sıkıştırılmış çıktı 269 gönderilir.</p> 270 271 <h3><a name="force-no-vary" id="force-no-vary"><code>force-no-vary</code></a></h3> 272 273 274 <p>İstemciye gönderilmeden önce yanıttan <code>Vary</code> alanının 275 çıkarılmasına sebep olur. Bazı istemciler bu alanı gerektiği gibi 276 yorumlayamazlar, bu değişken atanarak bu sorunla karşılaşılmamaya 277 çalışılır. Bu değişkenin atanması ayrıca 278 <strong>force-response-1.0</strong> değişkeninin de atanmasına sebep 279 olur.</p> 280 281 282 <h3><a name="force-response" id="force-response"><code>force-response-1.0</code></a></h3> 283 284 285 <p>HTTP/1.0 isteği yapan istemcilere HTTP/1.0 yanıtı verilmesini zorunlu 286 kılar. AOL vekillerindeki bir sorun nedeniyle gerçeklenmiştir. Bazı 287 HTTP/1.0 istemciler HTTP/1.1 yanıtlarında doğru davranmayabilirler; bu 288 değişken atanarak bunların sorunları giderilebilir.</p> 289 290 291 292 <h3><a name="gzip-only-text-html" id="gzip-only-text-html"><code>gzip-only-text/html</code></a></h3> 293 294 295 <p>Bu değişkene "1" değeri atandığında <code>text/html</code>’den 296 farklı içerik türleri için <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> modülü 297 tarafından sağlanan <code>DEFLATE</code> çıktı süzgeci iptal 298 edilir. Sıkıştırılmış olarak saklanan dosyalar kullanıyorsanız bu 299 değişkeni <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> modülü de dikkate alır 300 (kimliğine bakarak sadece gzip için değil, tüm kodlamalar için bunu 301 yapar).</p> 302 303 304 <h3><a name="no-gzip" id="no-gzip"><code>no-gzip</code></a></h3> 305 306 <p>Bu değişken atandığında, <code class="module"><a href="/mod/mod_deflate.html">mod_deflate</a></code> modülünün 307 <code>DEFLATE</code> süzgeci kapatılır ve 308 <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> modülü kodlanmış kaynak teslimatını 309 reddeder.</p> 310 311 312 313 <h3><a name="no-cache" id="no-cache">no-cache</a></h3> 314 <p><em>2.2.12 sürümünden beri kullanılabilmektedir.</em></p> 315 316 <p>Atandığı takdirde, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> artık 317 önbelleklenebilecek yanıtları kaydetmeyecektir. Bu ortam değişkeni bir 318 yanıtın halihazırda mevcut bir isteğe sunulmak üzere önbellekte olup 319 olmadığından etkilenmez.</p> 320 321 322 323 <h3><a name="nokeepalive" id="nokeepalive"><code>nokeepalive</code></a></h3> 324 325 326 <p>Bu değişken atandığında, <code class="directive"><a href="/mod/core.html#keepalive">KeepAlive</a></code> yönergesi iptal edilir.</p> 327 328 329 330 <h3><a name="prefer-language" id="prefer-language"><code>prefer-language</code></a></h3> 331 332 333 <p>Değer olarak <code>en</code>, <code>ja</code> veya 334 <code>x-klingon</code> gibi bir dil kısaltması verilerek atanmışsa 335 <code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code> modülünün normal davranışını 336 değiştirerek belirtilen dilde bir teslimat yapılmaya çalışılır. 337 Böyle bir belge yoksa normal <a href="content-negotiation.html">uzlaşım</a> süreci uygulanır.</p> 338 339 340 341 <h3><a name="redirect-carefully" id="redirect-carefully"><code>redirect-carefully</code></a></h3> 342 343 344 <p>İstemciye bir yönlendirme gönderirken sunucuyu daha dikkatli olmaya 345 zorlar. Bu genellikle istemcinin yönlendirmeler konusunda sorunlu 346 olduğu bilindiği takdirde yararlı olur. Bu değişkenin gerçeklenme 347 sebebi, dizin kaynaklarına yönlendirmeler için DAV yöntemlerini 348 kullanan Microsoft'un WebFolders yazılımındaki bir sorundur.</p> 349 350 351 352 <h3><a name="suppress-error-charset" id="suppress-error-charset"><code>suppress-error-charset</code></a></h3> 353 354 355 <p><em>2.0.54 sürümünden beri mevcuttur.</em></p> 356 357 <p>Apache bir isteğe bir yönlendirme ile yanıt verdiğinde istemci 358 yönlendirmeyi kendiliğinden yapmaz veya yapamazsa kullanıcıya yanıtla 359 birlikte gönderilen metin gösterilir. Apache normal olarak bu metni 360 ISO-8859-1 ile kodlar.</p> 361 362 <p>Ancak, yönlendirmenin yapıldığı sayfa farklı bir karakter kümesine 363 sahipse bazı tarayıcı sürümleri asıl sayfanın karakter kodlaması yerine 364 yönlendirmenin kodlamasını kullanmaya çalışırlar. Bu özellikle Yunanca 365 gibi dillerde hedef sayfanın hatalı yorumlanmasına yol açar.</p> 366 367 <p>Bu ortam değişkeninin atanması Apache’nin yönlendirme için karakter 368 kümesi belirtmemesini sağlamak suretiyle hatalı tarayıcıların hedef 369 sayfayı yanlış karakter kodlamasıyla yorumlamasını önler.</p> 370 371 <div class="warning"> 372 <h3>Güvenlik Uyarısı</h3> 373 374 <p>Hata sayfalarının bir karakter kümesi belirtilmeksizin yollanması, 375 HTTP/1.1 belirtimine uymayan ve karakter kümesini içeriğe bakarak 376 tahmin etmeye çalışan tarayıcılarda (MSIE) karşı siteden betik 377 saldırısı yorumuna sebep olabilir. Girdi verisindeki UTF-7 içerik 378 (istek betimleyici gibi) karşı siteden betik saldırılarını engellemek 379 için tasarlanmış normal önceleme mekanizmalarıyla öncelenmeyeceği için 380 böyle tarayıcılar UTF-7 karakter kodlaması kullanılarak kolayca 381 aldatılabilir.</p> 382 </div> 383 384 385 386 <h3><a name="proxy" id="proxy"><code>force-proxy-request-1.0</code>, 387 <code>proxy-nokeepalive</code>, <code>proxy-sendchunked</code> ve 388 <code>proxy-sendcl</code>, <code>proxy-chain-auth</code>, 389 <code>proxy-interim-response</code>, <code>proxy-initial-not-pooled</code> 390 </a></h3> 391 392 <p>Bu yönergeler <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> modülünün normal protokol 393 davranışını değiştirirler. Daha ayrıntılı bilgi için 394 <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code> ve <code class="module"><a href="/mod/mod_proxy_http.html">mod_proxy_http</a></code> 395 belgelerine bakınız.</p> 396 397 398 </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 399<div class="section"> 400<h2><a name="examples" id="examples">Örnekler</a></h2> 401 402 403 <h3><a name="fixheader" id="fixheader">Bozuk başlıkların CGI betiklerine aktarılması</a></h3> 404 405 406 <p>2.4 sürümünden itibaren, <code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code> modülü ve diğer 407 modüllerde HTTP başlıklarının ortam değişkenlerine dönüştürülmesi 408 bağlamında Apache daha seçici davranmaktadır. Önce HTTP başlığındaki 409 geçersiz karakterlerin tamamı altçizgilere dönüştürülür. Bu, başlık 410 zerki yoluyla yapılan karşı-site-betiklerini-çalıştırma saldırısını 411 önlemeye yöneliktir. (Bakınız: <a href="http://events.ccc.de/congress/2007/Fahrplan/events/2212.en.html">Unusual Web Bugs</a>, slide 19/20).</p> 412 413 <p>Bozuk başlıklar gönderdiği halde bunlara dokunulmamasını gerektiren 414 bir istemciniz varsa, <code class="module"><a href="/mod/mod_setenvif.html">mod_setenvif</a></code> ve 415 <code class="module"><a href="/mod/mod_headers.html">mod_headers</a></code> modüllerinin sunduğu yapıyı örnekteki gibi 416 kullanarak bu sorunun üstesinden gelebilirsiniz:</p> 417 418 <pre class="prettyprint lang-config"># 419# Aşağıdaki satırlarla bir istemcinin gönderdiği bozuk 420# Accept_Encoding başlıklarının istenildiği gibi işlenmesi 421# sağlanabilir. 422# 423SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1 424RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre> 425 426 427 428 429 <h3><a name="misbehaving" id="misbehaving">Protokolü yanlış yorumlayan tarayıcıların davranışlarının 430 değiştirilmesi</a></h3> 431 432 433 <p>Önceki sürümlerde bilinen istemci davranışlarına karşı önlem olarak 434 aşağıdaki satırların <code>httpd.conf</code> içinde bulunması 435 önerilirdi. Fakat, böyle tarayıcılar artık ortalıkta görünmediğinden 436 bu yapılandırmaya da artık gerek kalmamıştır.</p> 437 438 <pre class="prettyprint lang-config"># 439# Aşağıdaki yönergeler normal HTTP yanıt davranışını değiştirirler. 440# İlk yönerge Netscape 2.x ve kendini öyle gösteren tarayıcılar için 441# kalıcı bağlantıyı (keepalive) iptal eder. İkinci yönerge ise HTTP/1.1 442# protokolü bozuk olan ve 301/302 durum kodlu yönlendirme yanıtları 443# kullanıldığında kalıcı bağlantıları gerektiği gibi desteklemeyen 444# Microsoft Internet Explorer 4.0b2 içindir. 445# 446BrowserMatch "Mozilla/2" nokeepalive 447BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 448 449# 450# Aşağıdaki yönergeler HTTP/1.0 yanıtlarından başkasına yabancı olan 451# tarayıcılara HTTP/1.1 yanıtlarının gönderilmesini iptal eder. 452# 453BrowserMatch "RealPlayer 4\.0" force-response-1.0 454BrowserMatch "Java/1\.0" force-response-1.0 455BrowserMatch "JDK/1\.0" force-response-1.0</pre> 456 457 458 459 <h3><a name="no-img-log" id="no-img-log">Resim isteklerinin erişim günlüğüne kaydedilmemesi</a></h3> 460 461 462 <p>Bu örnek resim isteklerinin erişim günlüğüne yazılmasını engeller. 463 Bu örnek değiştirilerek belli dizinlerin veya belli konaklardan 464 gelen isteklerin günlüğe kaydedilmesini engellemek amacıyla da 465 kullanılabilir.</p> 466 467 <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request 468SetEnvIf Request_URI \.jpg image-request 469SetEnvIf Request_URI \.png image-request 470CustomLog logs/access_log common env=!image-request</pre> 471 472 473 474 475 <h3><a name="image-theft" id="image-theft">“Resim Hırsızlığı” için önlem alınması</a></h3> 476 477 478 <p>Bu örnekte sunucunuzda bulunmayan sayfalarda sunucunuzdaki 479 resimlerin kullanılmasının nasıl önleneceği gösterilmiştir. Bu 480 yapılandırma önerilmemekle birlikte nadir durumlarda işe yarar. Tüm 481 resimlerin <code>/siteler/resimler</code> dizini altında tutulduğu 482 varsayılmıştır.</p> 483 484 <pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal 485# Referrer bilgisi göndermeyen tarayıcılara izin verelim 486SetEnvIf Referer "^$" local_referal 487<Directory /siteler/resimler> 488 Require env local_referal 489</Directory></pre> 490 491 492 <p>Bu teknik hakkında daha ayrıntılı bilgi edinmek için ServerWatch 493 üzerindeki "<a href="http://www.serverwatch.com/tutorials/article.php/1132731">Diğer sitelerin sizin resimlerinizle donatılmasını engellemek</a>" 494 belgesine bakınız.</p> 495 496 </div></div> 497<div class="bottomlang"> 498<p><span>Mevcut Diller: </span><a href="/en/env.html" hreflang="en" rel="alternate" title="English"> en </a> | 499<a href="/fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 500<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 501<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 502<a href="/tr/env.html" title="Türkçe"> tr </a></p> 503</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> 504<script type="text/javascript"><!--//--><![CDATA[//><!-- 505var comments_shortname = 'httpd'; 506var comments_identifier = 'http://httpd.apache.org/docs/2.4/env.html'; 507(function(w, d) { 508 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 509 d.write('<div id="comments_thread"><\/div>'); 510 var s = d.createElement('script'); 511 s.type = 'text/javascript'; 512 s.async = true; 513 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 514 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 515 } 516 else { 517 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 518 } 519})(window, document); 520//--><!]]></script></div><div id="footer"> 521<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> 522<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[//><!-- 523if (typeof(prettyPrint) !== 'undefined') { 524 prettyPrint(); 525} 526//--><!]]></script> 527</body></html>