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