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