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