mirror of
https://github.com/apache/httpd.git
synced 2025-08-13 14:40:20 +00:00

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1187990 13f79535-47bb-0310-9956-ffa450edef68
195 lines
7.8 KiB
XML
195 lines
7.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
||
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
|
||
<!-- English Revision: 788930:1187986 (outdated) -->
|
||
<!-- =====================================================
|
||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||
========================================================== -->
|
||
|
||
<!--
|
||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||
contributor license agreements. See the NOTICE file distributed with
|
||
this work for additional information regarding copyright ownership.
|
||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||
(the "License"); you may not use this file except in compliance with
|
||
the License. You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
|
||
<manualpage metafile="custom-error.xml.meta">
|
||
|
||
<title>Hata Yanıtlarının Kişiselleştirilmesi</title>
|
||
|
||
<summary>
|
||
<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>
|
||
</summary>
|
||
|
||
<section id="behavior">
|
||
<title>Davranış</title>
|
||
|
||
<section>
|
||
<title>Eski Davranış</title>
|
||
|
||
<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>
|
||
</section>
|
||
|
||
<section>
|
||
<title>Yeni Davranış</title>
|
||
|
||
<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>
|
||
|
||
<example>
|
||
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
|
||
</example>
|
||
|
||
<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
|
||
<directive module="core">ErrorDocument</directive> 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>
|
||
</section>
|
||
</section>
|
||
|
||
<section id="configuration">
|
||
<title>Yapılandırma</title>
|
||
|
||
<p><directive module="core">ErrorDocument</directive> yönergesinin
|
||
<code>.htaccess</code> dosyalarında kullanılması sadece <directive
|
||
module="core">AllowOverride</directive> yönergesine <code>FileInfo</code>
|
||
atanmışsa mümkündür.</p>
|
||
|
||
<p>Bazı örnekler:</p>
|
||
|
||
<example>
|
||
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
|
||
</example>
|
||
|
||
<p>Burada sözdizimi şöyledir:</p>
|
||
|
||
<example>
|
||
ErrorDocument <3-rakamlı-kod> <eylem>
|
||
</example>
|
||
|
||
<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>
|
||
</section>
|
||
|
||
<section id="custom">
|
||
<title>Özel Hata Yanıtları ve Yönlendirme</title>
|
||
|
||
<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>
|
||
|
||
<section>
|
||
<title>Eski Davranış</title>
|
||
|
||
<p>Yönlendirme yapılan betikte standart CGI değişkenleri kullanılırdı.
|
||
Yönlendirmenin kaynağı ile ilgili bir belirtiye rastlanmazdı.</p>
|
||
</section>
|
||
|
||
<section>
|
||
<title>Yeni Davranış</title>
|
||
|
||
<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 <directive module="core">ErrorDocument</directive> 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>
|
||
|
||
<example>
|
||
... <br />
|
||
print "Content-type: text/html; charset=UTF-8\n"; <br />
|
||
printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"}; <br />
|
||
...
|
||
</example>
|
||
|
||
<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>
|
||
</section>
|
||
</section>
|
||
</manualpage>
|