summaryrefslogtreecommitdiff
path: root/docs/manual/custom-error.xml.tr
blob: 3797094f3ef0f6222575c5b67edcb89be96a6b6b (plain)
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
<?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 -->
<!-- =====================================================
 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 &lt;3-rakamlı-kod&gt; &lt;eylem&gt;
    </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&nbsp;Not&nbsp;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&nbsp;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>