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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <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">&nbsp;en&nbsp;</a> |
25<a href="/fr/env.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28<a href="/tr/env.html" title="Türkçe">&nbsp;tr&nbsp;</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&lt;Directory /siteler/resimler&gt;
488  Require env local_referal
489&lt;/Directory&gt;</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">&nbsp;en&nbsp;</a> |
499<a href="/fr/env.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
500<a href="/ja/env.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
501<a href="/ko/env.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
502<a href="/tr/env.html" title="Türkçe">&nbsp;tr&nbsp;</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&amp;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>