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
|
<?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>Hata Yanıtlarının Kişiselleştirilmesi - 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.2</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.2</a></div><div id="page-content"><div id="preamble"><h1>Hata Yanıtlarının Kişiselleştirilmesi</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/custom-error.html" title="Türkçe"> tr </a></p>
</div>
<p>Apache, bazı sorunlara ve hatalara karşılık vereceği yanıtların
yapılandırabilmesini mümkün kılan ek bir işlevselliğe sahiptir.</p>
<p>Site yöneticisi tarafından kişiselleştirilebilen bu tür yanıtlar,
sunucu belli hatalar veya sorunlarla karşılaştığında etkin kılınmak
üzere tanımlanabilir.</p>
<p>Bir betik bir hata nedeniyle bir "500 Server Error" yanıtının
verilmesine sebep olursa bu yanıt yerine başka bir adrese
yönlendirilerek (dahili veya harici) veya doğrudan daha dostça bir
metin sunulabilir.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#behavior">Davranış</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#configuration">Yapılandırma</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#custom">Özel Hata Yanıtları ve Yönlendirme</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="behavior" id="behavior">Davranış</a></h2>
<h3>Eski Davranış</h3>
<p>NCSA httpd 1.3, çoğunlukla kullanıcıya anlamsız gelen ve sebebiyle
kavramsal bir bağ kurulamayan günlük kayıtları üreten, can sıkıcı
bazı hata/sorun yanıtları döndürürdü.</p>
<h3>Yeni Davranış</h3>
<p>Sunucudan NCSA kodlu iletiler yerine</p>
<ul>
<li>başka bir metin göstermesi,</li>
<li>istemciyi başka bir yerel adrese yönlendirmesi veya</li>
<li>istemciyi bir harici adrese yönlendirmesi</li>
</ul>
<p>istenebilir. Başka bir adrese yönlendirme, hata veya sorunu daha iyi
açıklamakta kullanılabilecek bazı bilgilerin aktarılması şartıyla
oldukça kullanışlı olabilir.</p>
<p>Apache, buna olanak vermek için CGI benzeri yeni ortam değişkenleri
tanımlamıştır:</p>
<div class="example"><p><code>
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/x-xbitmap,
image/jpeg<br />
REDIRECT_HTTP_USER_AGENT=Mozilla/1.1b2 (X11; I; HP-UX A.09.05
9000/712)<br />
REDIRECT_PATH=.:/bin:/usr/local/bin:/etc<br />
REDIRECT_QUERY_STRING=<br />
REDIRECT_REMOTE_ADDR=121.345.78.123<br />
REDIRECT_REMOTE_HOST=ooh.ahhh.dom<br />
REDIRECT_SERVER_NAME=batti.balik.yan.gider.edu<br />
REDIRECT_SERVER_PORT=80<br />
REDIRECT_SERVER_SOFTWARE=Apache/0.8.15<br />
REDIRECT_URL=/cgi-bin/hatalar.pl
</code></p></div>
<p><code>REDIRECT_</code> önekine dikkat edin.</p>
<p>Yeni adrese (hedefin bir CGI betiği veya SSI sayfası olduğu
kabulüyle) en azından <code>REDIRECT_URL</code> ve
<code>REDIRECT_QUERY_STRING</code> değişkenleri aktarılır. Diğer
değişkenler ise sadece hata veya sorunun öncesinde mevcut oldukları
takdirde aktarılacaklardır. Eğer <em>harici</em> yönlendirmeyi
<code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi
üzerinden yapıyorsanız bunlara <strong>None</strong> değeri
atanacaktır. (Yönlendirme adresi <code>http:</code> ile başlıyorsa
adres aynı sunucuya ait olsa bile bu bir harici yönlendirme olarak
ele alınır.)</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configuration" id="configuration">Yapılandırma</a></h2>
<p><code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesinin
<code>.htaccess</code> dosyalarında kullanılması sadece <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesine uygun bir değer
atanmışsa mümkündür.</p>
<p>Bazı örnekler:</p>
<div class="example"><p><code>
ErrorDocument 500 /cgi-bin/hata-kurtarma <br />
ErrorDocument 500 "Pardon, galiba bizim betik hata verdi." <br />
ErrorDocument 500 http://xxx/ <br />
ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html <br />
ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html
</code></p></div>
<p>Burada sözdizimi şöyledir:</p>
<div class="example"><p><code>
ErrorDocument <3-rakamlı-kod> <eylem>
</code></p></div>
<p><code><em>eylem</em></code> şunlardan biri olabilir:</p>
<ul>
<li>Gösterilecek metin. Metin tırnak (") içine alınmalıdır.</li>
<li>Yönlendirmenin yapılacağı harici adres.</li>
<li>Yönlendirmenin yapılacağı dahili adres.</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="custom" id="custom">Özel Hata Yanıtları ve Yönlendirme</a></h2>
<p>Apache’nin yönlendirme ile ilgili davranışı bir CGI betiği veya SSI
sayfası sözkonusu olduğunda bazı ek ortam değişkenleri ile
yapılandırılabilir.</p>
<h3>Eski Davranış</h3>
<p>Yönlendirme yapılan betikte standart CGI değişkenleri kullanılırdı.
Yönlendirmenin kaynağı ile ilgili bir belirtiye rastlanmazdı.</p>
<h3>Yeni Davranış</h3>
<p>Yönlendirme yapılan betikte kullanılmak üzere özel olarak
tanımlanmış ortam değişkenleri vardır. Her değişkenin ismi
<code>REDIRECT_</code> ile başlar. <code>REDIRECT_</code> ortam
değişkenleri, yönlendirme öncesinde tanımlanmış CGI ortam
değişkenlerinin isimlerinin başına <code>REDIRECT_</code> öneki
getirilerek oluşturulur. Yani, <code>HTTP_USER_AGENT</code> değişkeni
<code>REDIRECT_HTTP_USER_AGENT</code> haline gelir. Bunlara ek
olarak, betiğe olayın izini sürmekte yardımcı olması için
<code>REDIRECT_URL</code> ve <code>REDIRECT_STATUS</code>
değişkenleri tanımlanmıştır. Erişim günlüğüne özgün adresle birlikte
yönlendirme adresi de kaydedilir.</p>
<p>Eğer <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code> yönergesi
bir yerel CGI betiğine yönlendirme belirtiyorsa, hatanın kaynağı
hakkında istemciye bilgi vermek amacıyla betiğin çıktısında bir
"<code>Status:</code>" başlık alanına yer verilmesi önerilir.
Örneğin, bir Perl betiği şunları içerebilirdi:</p>
<div class="example"><p><code>
... <br />
print "Content-type: text/html; charset=UTF-8\n"; <br />
printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"}; <br />
...
</code></p></div>
<p>Eğer betik, <code>404 Not Found</code> gibi, belli bir
hata durumunu ele almaya adanmışsa duruma özel kod ve hata metni
kullanılabilir.</p>
<p>Eğer yanıt, (istemci taraflı yönlendirme yapılırken) bir
<code>Location:</code> başlığı da içeriyorsa betiğin çıktıya uygun
bir <code>Status:</code> başlığı (<code>302 Found</code> gibi)
eklemesinin <em>gerekli</em> oluşuna dikkat ediniz. Aksi takdirde,
<code>Location:</code> başlığı etkisiz olabilir.</p>
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./en/custom-error.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./es/custom-error.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="./ja/custom-error.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/custom-error.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="./tr/custom-error.html" title="Türkçe"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 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>
|