| <?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: 421174 --> |
| <!-- ===================================================== |
| 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 uygun bir değer |
| 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. Metnin başına bir tırnak imi (") konmalıdır. (<em>Bu tırnak öneki çıktıda gösterilmez.</em>)</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> |