mirror of
https://github.com/apache/httpd.git
synced 2025-04-18 22:24:07 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1742728 13f79535-47bb-0310-9956-ffa450edef68
203 lines
9.0 KiB
XML
203 lines
9.0 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: 1187986:1741842 (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 HTTP Sunucusu 4xx veya 5xx HTTP durum kodları ile ilgili
|
||
olaylarda soysal hata yanıtları üretse de bu yanıtlar site
|
||
kullanıcılarına aşırı sade, bilgi vermez ve hatta korkutucu gelebilir.
|
||
Daha dostça yazılmış, İngilizce değil de kendi dilinizde ve belki
|
||
sayfalarınızın yerleşimine uygun daha hoş satırlarda özel hata yanıtları
|
||
üretmek isteyebilirsiniz.</p>
|
||
|
||
<p>Kişiselleştirilmiş hata yanıtları, bir hata durumuna göre tasarlanmış
|
||
herhangi bir HTTP durum kodu (yani 4xx ve 5xx kodlarından biri) için
|
||
tanımlanabilir.</p>
|
||
|
||
<p>Ek olarak bir değer kümesi de sağlanmıştır. Böylece hata belgeleri, <a
|
||
href="howto/ssi.html">Sunucu taraflı İçerik Yerleştirme</a> kullanılarak
|
||
bu değişkenlerin değerlerine göre özelleştirilebilir. İsterseniz bunun
|
||
yerine bir CGI programı veya devingen bir eylemci (PHP, mod_perl, vs.)
|
||
kullanarak da bu değişkenlerin değerlerine göre hata sayfalarınızı
|
||
üretebilirsiniz.</p>
|
||
|
||
</summary>
|
||
|
||
<section id="configuration"><title>Yapılandırma</title>
|
||
|
||
<p>Kişiselleştirilmiş hata belgeleri <directive module="core"
|
||
>ErrorDocument</directive> yönergesi kullanılarak yapılandırılabilir. Bu
|
||
yönerge küresel bağlamda olabileceği gibi sanal konak ve dizin
|
||
bağlamlarında da kullanılabilir. <directive
|
||
module="core">AllowOverride</directive> yönergesine <code>FileInfo</code>
|
||
atanarak <code>.htaccess</code> dosyalarında da kullanılabilir.</p>
|
||
|
||
<example>
|
||
ErrorDocument 500 "Pardon, galiba bizim betik hata verdi." <br />
|
||
ErrorDocument 500 /cgi-bin/hata-kurtarma<br />
|
||
ErrorDocument 500 http://error.example.com/server_error.html<br />
|
||
ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html <br />
|
||
ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html
|
||
</example>
|
||
|
||
<p><code>ErrorDocument</code> yönergesinin sözdizimi:</p>
|
||
|
||
<example>
|
||
ErrorDocument <3-rakamlı-kod> <eylem>
|
||
</example>
|
||
|
||
<p><var>eylem</var> şunlardan biri olabilir:</p>
|
||
|
||
<ol>
|
||
<li>Yönlendirmenin yapılacağı dahili adres (<var>eylem</var> bir "/" ile
|
||
başlıyorsa).</li>
|
||
<li>Yönlendirmenin yapılacağı harici adres (<var>eylem</var> geçerli bir
|
||
URL ise).</li>
|
||
<li>Gösterilecek metin (yukardakilerin hiçbiri yoksa). Birden fazla
|
||
sözcük içeriyorsa tırnak (") içine alınmalıdır.</li>
|
||
</ol>
|
||
|
||
<p>Yerel bir adrese yönlendirme yapılırken ek ortam değişkenleri de
|
||
atanarak yanıt daha da özelleştirilebilir. Bunlar harici URL'lere
|
||
gönderilmez.</p>
|
||
|
||
</section>
|
||
|
||
<section id="variables"><title>Kullanılabilen Değişkenler</title>
|
||
|
||
<p>Hata durumunu açıklayacak veya hata günlüğüne daha açıkça
|
||
kaydedilebilecek bazı bilgilerin aktarılması koşuluyla, başka bir
|
||
adrese yönlendirme kullanışlı olabilir</p>
|
||
|
||
<p>Hata yönlendirmesi yapılırken bunu sağlamak için ek ortam değişkenleri
|
||
tanımlanır. Bu değişkenlerin isimleri, özgün istekle sağlanan
|
||
başlık isimlerinin önüne 'REDIRECT_' dizgesi getirilerek üretilir.
|
||
Böylece özgün istek bağlamından hata belgesi üretilebilir.</p>
|
||
|
||
<p>Örneğin, aşağıdaki gibi, daha yararlı olacak ek ortam değişkenleri
|
||
alabilirsiniz.</p>
|
||
|
||
<example>
|
||
REDIRECT_HTTP_ACCEPT=*/*, image/gif, image/jpeg, image/png<br />
|
||
REDIRECT_HTTP_USER_AGENT=Mozilla/5.0 Fedora/3.5.8-1.fc12 Firefox/3.5.8<br />
|
||
REDIRECT_PATH=.:/bin:/usr/local/bin:/sbin<br />
|
||
REDIRECT_QUERY_STRING=<br />
|
||
REDIRECT_REMOTE_ADDR=121.345.78.123<br />
|
||
REDIRECT_REMOTE_HOST=client.example.com<br />
|
||
REDIRECT_SERVER_NAME=www.example.edu<br />
|
||
REDIRECT_SERVER_PORT=80<br />
|
||
REDIRECT_SERVER_SOFTWARE=Apache/2.2.15<br />
|
||
REDIRECT_URL=/cgi-bin/buggy.pl
|
||
</example>
|
||
|
||
<p><code>REDIRECT_</code> ortam değişkenleri, yönlendirme öncesi varolan
|
||
ortam değişkenlerinden üretilir. Bunlar önlerine <code>REDIRECT_</code>
|
||
getirilerek yeniden isimlendirilir. Örneğin,
|
||
<code>HTTP_USER_AGENT</code> değişkeni
|
||
<code>REDIRECT_HTTP_USER_AGENT</code> haline gelir.</p>
|
||
|
||
<p><code>REDIRECT_URL</code>, <code>REDIRECT_STATUS</code> ve
|
||
<code>REDIRECT_QUERY_STRING</code> mutlaka atanır. Diğer başlıklarla
|
||
ilgili olanlar ise hata durumu öncesinde mevcut oldukları takdirde
|
||
üretilirler.</p>
|
||
|
||
<p>Eğer <directive module="core">ErrorDocument</directive> hedefi bir
|
||
<em>harici</em> yönlendirme ise bunların <strong>hiçbiri</strong>
|
||
üretilmez (sunucunun bulunduğu konağı hedeflese bile <code>http:</code>
|
||
ile başlayan herşey harici yönlendirme sayılır).</p>
|
||
</section>
|
||
|
||
<section id="custom"><title>Özel Hata Yanıtları</title>
|
||
|
||
<p>Hata yanıtınızı üretmek için sunucu taraflı içerik yerleştirme, bir
|
||
CGI betiği veya başka bir eylemciyi devingen eylemci olarak
|
||
kullanıyorsanız, bu yanıtı özelleştirmek için bu kullanıma özel
|
||
üretilmiş ortam değişkenlerini kullanmak isteyebilirsiniz.</p>
|
||
|
||
<p><directive module="core">ErrorDocument</directive> yönergesi bir CGI
|
||
betiğine bir yerel 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 verilmelidir. Örneğin, bir
|
||
Perl betiği şunları içerebilirdi:</p>
|
||
|
||
<example>
|
||
... <br />
|
||
print "Content-type: text/html\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>) eklemesinin
|
||
gerekli oluşuna dikkat ediniz. Aksi takdirde, <code>Location:</code>
|
||
başlığı etkisiz olabilir.</p>
|
||
|
||
</section>
|
||
|
||
<section id="multi-lang"><title>Çok Dilli Özel Hata Belgeleri</title>
|
||
|
||
<p>Apache HTTP Sunucusunun kurulumunda, 16 dile çevrilmiş özel hata
|
||
iletileri belgeleri içeren bir dizin bulunmaktadır. Ayrıca,
|
||
<code>conf/extra</code> yaplandırma dizininde bu özelliği etkin kılmak
|
||
için yapılandırmaya dahil edilebilecek bir yapılandırma dosyası
|
||
vardır.</p>
|
||
|
||
<p>Sunucu yapılandırma dosyanızda şöyle satırlar görebilirsiniz:</p>
|
||
|
||
<example>
|
||
# Multi-language error messages<br />
|
||
#Include conf/extra/httpd-multilang-errordoc.conf
|
||
</example>
|
||
|
||
<p>Bu <code>Include</code> satırını açıklama olmaktan çıkarırsanız
|
||
bu özelliği etkinleştirmiş olursunuz. Böylece, istemcinin tarayıcısında
|
||
belirtilmiş dil tercihine uygun dil uzlaşımlı hata iletileri
|
||
sağlanır.</p>
|
||
|
||
<p>Ek olarak, bu belgeler çeşitli <code>REDIRECT_</code> değişkenleri
|
||
içerir. Böylece, son kullanıcıya neler olduğu ve şimdi ne yapması
|
||
beklendiği hakkında ek bilgiler sağlanabilir.</p>
|
||
|
||
<p>Bu belgeleri istediğiniz kadar özelleştirebilir, kullanıcıya siteniz
|
||
hakkında ve orada bulabilecekleri şeylere dair faydalı bilgiler de
|
||
sağlayabilirsiniz.</p>
|
||
|
||
<p>Bu özelliği kullanmak için <module>mod_include</module> ve
|
||
<module>mod_negotiation</module> etkin kılınmalıdır.</p>
|
||
|
||
</section>
|
||
|
||
</manualpage>
|