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.min.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.4</p>
19 <img alt="" src="./images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
22 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.4</a></div><div id="page-content"><div id="preamble"><h1>Apache’de Ortam Değişkenleri</h1>
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>
31 <p>Apache HTTP Sunucusunu etkileyen ortam değişkenleri iki çeşittir.</p>
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>
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>
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>
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>
62 <h2><a name="setting" id="setting">Ortam Değişkenlerinin Atanması</a></h2>
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>
66 <h3><a name="basic-manipulation" id="basic-manipulation">Temel Ortamda Değişiklik</a></h3>
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
76 <h3><a name="conditional" id="conditional">İsteğe Bağlı Şartlı Atamalar</a></h3>
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
89 <h3><a name="unique-identifiers" id="unique-identifiers">Eşsiz Betimleyiciler</a></h3>
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
98 <h3><a name="standard-cgi" id="standard-cgi">Standart CGI Değişkenleri</a></h3>
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>
108 <h3><a name="caveats" id="caveats">Bazı Yetersizlikler</a></h3>
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
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>
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>
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>
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>
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>
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>
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>
160 <h3><a name="cgi-scripts" id="cgi-scripts">CGI Betikleri</a></h3>
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>
171 <h3><a name="ssi-pages" id="ssi-pages">SSI Sayfaları</a></h3>
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>
184 <h3><a name="access-control" id="access-control">Erişim Denetimi</a></h3>
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>
195 <h3><a name="logging" id="logging">Şartlı Günlük Kaydı</a></h3>
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>
211 <h3><a name="response-headers" id="response-headers">Şartlı Yanıt Başlıkları</a></h3>
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>
223 <h3><a name="external-filter" id="external-filter">Harici Süzgeçlerin Etkinleştirilmesi</a></h3>
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>
232 <h3><a name="url-rewriting" id="url-rewriting">URL Kurgulaması</a></h3>
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>
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>
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>
258 <h3><a name="downgrade" id="downgrade"><code>downgrade-1.0</code></a></h3>
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>
265 <h3><a name="force-gzip" id="force-gzip"><code>force-gzip</code></a></h3>
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ı
271 <h3><a name="force-no-vary" id="force-no-vary"><code>force-no-vary</code></a></h3>
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
282 <h3><a name="force-response" id="force-response"><code>force-response-1.0</code></a></h3>
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>
292 <h3><a name="gzip-only-text-html" id="gzip-only-text-html"><code>gzip-only-text/html</code></a></h3>
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
304 <h3><a name="no-gzip" id="no-gzip"><code>no-gzip</code></a></h3>
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ı
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>
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>
323 <h3><a name="nokeepalive" id="nokeepalive"><code>nokeepalive</code></a></h3>
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>
330 <h3><a name="prefer-language" id="prefer-language"><code>prefer-language</code></a></h3>
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>
341 <h3><a name="redirect-carefully" id="redirect-carefully"><code>redirect-carefully</code></a></h3>
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>
352 <h3><a name="suppress-error-charset" id="suppress-error-charset"><code>suppress-error-charset</code></a></h3>
355 <p><em>2.0.54 sürümünden beri mevcuttur.</em></p>
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>
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>
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>
371 <div class="warning">
372 <h3>Güvenlik Uyarısı</h3>
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
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>
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>
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>
403 <h3><a name="fixheader" id="fixheader">Bozuk başlıkların CGI betiklerine aktarılması</a></h3>
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>
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>
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
423 SetEnvIfNoCase ^Accept.Encoding$ ^(.*)$ fix_accept_encoding=$1
424 RequestHeader set Accept-Encoding %{fix_accept_encoding}e env=fix_accept_encoding</pre>
429 <h3><a name="misbehaving" id="misbehaving">Protokolü yanlış yorumlayan tarayıcıların davranışlarının
430 değiştirilmesi</a></h3>
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>
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.
446 BrowserMatch "Mozilla/2" nokeepalive
447 BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
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.
453 BrowserMatch "RealPlayer 4\.0" force-response-1.0
454 BrowserMatch "Java/1\.0" force-response-1.0
455 BrowserMatch "JDK/1\.0" force-response-1.0</pre>
459 <h3><a name="no-img-log" id="no-img-log">Resim isteklerinin erişim günlüğüne kaydedilmemesi</a></h3>
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
467 <pre class="prettyprint lang-config">SetEnvIf Request_URI \.gif image-request
468 SetEnvIf Request_URI \.jpg image-request
469 SetEnvIf Request_URI \.png image-request
470 CustomLog logs/access_log common env=!image-request</pre>
475 <h3><a name="image-theft" id="image-theft">“Resim Hırsızlığı” için önlem alınması</a></h3>
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
484 <pre class="prettyprint lang-config">SetEnvIf Referer "^http://www\.example\.com/" local_referal
485 # Referrer bilgisi göndermeyen tarayıcılara izin verelim
486 SetEnvIf Referer "^$" local_referal
487 <Directory /siteler/resimler>
488 Require env local_referal
489 </Directory></pre>
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>
497 <div class="bottomlang">
498 <p><span>Mevcut Diller: </span><a href="./en/env.html" hreflang="en" rel="alternate" title="English"> en </a> |
499 <a href="./fr/env.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
500 <a href="./ja/env.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
501 <a href="./ko/env.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
502 <a href="./tr/env.html" title="Türkçe"> tr </a></p>
503 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
504 <script type="text/javascript"><!--//--><![CDATA[//><!--
505 var comments_shortname = 'httpd';
506 var comments_identifier = 'http://httpd.apache.org/docs/2.4/env.html';
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';
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);
517 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
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[//><!--
523 if (typeof(prettyPrint) !== 'undefined') {