| <?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: 1741841 --> |
| <!-- ===================================================== |
| 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> |
| |
| <highlight language="config"> |
| ErrorDocument 500 "Pardon, galiba bizim betik hata verdi." |
| ErrorDocument 500 /cgi-bin/hata-kurtarma |
| ErrorDocument 500 http://error.example.com/server_error.html |
| ErrorDocument 404 /ozuru_kabahatinden_buyuk/yok.html |
| ErrorDocument 401 /Uyeler/NASIL_uye_olunur.html |
| </highlight> |
| |
| <p><code>ErrorDocument</code> yönergesinin sözdizimi:</p> |
| |
| <highlight language="config"> |
| ErrorDocument <3-rakamlı-kod> <eylem> |
| </highlight> |
| |
| <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> |
| |
| <highlight language="perl"> |
| ... |
| print "Content-type: text/html\n"; |
| printf "Status: %s durumu saptandı.\n", $ENV{"REDIRECT_STATUS"}; |
| ... |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| # Multi-language error messages |
| #Include conf/extra/httpd-multilang-errordoc.conf |
| </highlight> |
| |
| <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> |