.htaccess konuları [Hataları yönlendirme]
“.htaccess konuları” yazı dizisinin 2. bölümüyle karşınızdayız. Bugün, sunucuda oluşan hataları belli sayfalara yönlendirmenin nasıl yapılacağı üzerine tartışalım.
Daha önce, “php ile hata sayfaları yönetimi” yazısında da bu konuya değinmiştik.

Apache web sunucusu çalışırken bazen hatalar ile karşılaşır, çalışması bölünür, bu durumda ziyaretçiye kendi varsayılan hata sayfasını gösterir. Bu sayfanın pek ilgi çeken bir tarafı yoktur, dolayısıyla siz, siteniz hata yaptığında bile ziyaretçiye güzel bir sayfa göstermek isteyebilirsiniz. (istemelisiniz!) Bu durumda sunucu tabanlı hataları ilgili sayfaya yönlendirmelisiniz. Bunu da .htaccess dosyası ile sağlayabiliriz.
Temel olarak karşılaşılan hatalar ve kodları şu şekildedir:
- 401: Sayfa görüntüleme izni hatasıdır. Eğer bir dizini ya da bir sayfayı parola ile koruyorsanız, kullanıcı parolayı yanlış girdiğinde karşılaşacağı sayfadır.
- 403: Erişim engelleme hatasıdır. Kullanıcı’nın belirtilen dosyayı görüntülemeye hakkı yoktur.
- 404: Sayfa bulunamadı hatasıdır.
- 500: Sunucu işlemi gerçekleştirirken bir hatayla karşılaştı anlamına gelir.
Daha detaylı liste için bu sayfaya bakabilirsiniz.
Ziyaretçi bu hatalardan herhangi biri ile karşılaştığında bizim tasarladığımız hata sayfasını görmesini istiyorsak, içeriği aşağıdaki kod olan bir .htaccess dosyası oluşturum sitemizin ana dizinine yerleştiririz:
ErrorDocument 404 /hatalar/404.html ErrorDocument 403 /hatalar/403.html ErrorDocument 401 /hatalar/401.html ErrorDocument 500 /hatalar/500.html
Siz de yukarıda listelenmeyen diğer hata kodları için yeni sayfalar oluşturabilir ve .htaccess dosyasından yönlendirme yapabilirsiniz.
Böylece artık ziyaretçi daha “bilgilendirici” hata sayfaları ile karşılaşmış olacak.
Gördiüğünüz gibi .htaccess dosyası ile sunucunun ayarlarına müdahele etmiş olduk. Apache web sunucusu, bir dizinde işlem yaparken hata ile karşılaştığında artık sizin belirlemiş olduğunuz ayarlara göre çalışacaktır. İlerleyen yazılarda .htaccess dosyaları ile Apache’nin başka özelliklerini de değiştirebilecek ve yeni özellikler de ekleyeceğiz.
Bir sonraki .htaccess yazısında görüşmek üzere…
Bütün .htaccess Yazıları
– .htaccess konuları [Giriş]
– .htaccess konuları [Hataları Yönlendirme]
– .htaccess konuları [IP Engelleme]
– .htaccess konuları [Dizinlerin varsayılan dosyalarını değiştirme]
– .htaccess konuları [Parola korumalı dizinler ve dosyalar]
– .htaccess konuları [Yönlendirme]
– .htaccess konuları [Dinamik bağlandı (hotlink) engelleme]
– .htaccess konuları [kötü örümcekleri engelleme]
– .htaccess konuları [İşaretçi siteye göre engelleme]
– .htaccess konuları [Kapanış]
Hata sayfaları yönetimi
Web programlama dillerinin (ör: PHP) getirdiğini en büyük avantaj kuşkusuz içeriğin dinamik olarak oluşturulabilmesi. Bu şekilde içeriği düzenlediğimizde statik html sayfalarının aksine, çok fazla sayıda sayfa oluşturabiliyoruz. Bu kadar çok sayfanın getirdiği bazı sorunlar da oluyor tabi ki. Bunların en meşhuru, “sayfa bulunamadı” anlamına gelen “404 hatası”.

404 hatasıyla beraber, sık karşılaşılan başka sunucu hataları da var tabiki, kullanıcı, bu tür hatalardan birine yol açacak bir istek yaptığında apache sunucusu varsayılan hata sayfasını kullanıcıya gösterir. Bu hata sayfalarının pek sevimli olmadığı itiraf etmemiz gerekir, genelde kullanıcı kaybına yol açarlar. Bunun önüne geçmek için kendi hata sayfalarımızın olması gerekmekte.
Arama
E-Posta Aboneliği
RSS Aboneliği
En Çok Yorumlanan Yazılar
- Blogger’da “devamını oku” bağlantısı (21)
- Ajax ile dinamik listeleme (21)
- MySQL’de Transaction ve PHP ile kullanımı (16)
- PHP ile sınırsız alt kategori mantığı (14)
- Kullanıcı dostu url hazırlamak (12)
- PHP’nin (muhtemelen) az bilinen 10 özelliği (12)
- Kullandığınız programlama dili ne kadar popüler? (12)
- MySQL’de “join” kullanımı (11)
- .htaccess konuları [Giriş] (11)
- Blogger’da arama kutusu ekleme (10)
Etiketler
Son Yorumlar
- isa engiz: Yazı için teşekkürler. sabit ip 2.75 tl. bu ücreti verip kendi web sunucumuzu kurabiliriz… En yakın...
- osman: Yazı için teşekkürler. Pardus projesinin Türkiye için çok önemli olduğunu düşünüyorum. Ancak yazıda da...
- Mustinet: siblings kullanarak da yazılabilir. Teşekkürler
- is: CSS kullanmadan sadece HTML kodlarıyla yanyana iki sütun (tablo kullanmadan) oluşturulabilir mi?
- Doğan Yılmaz: verdiğiniz bilgiler için çok ama çok teşekkür ederim. artık sıkı bir takipçiniz olmaya karar verdim
14 / Aralık / 2008