Asp.net Hata Sayfaları - Web.Config ile Custom Error Asp.net Hata Sayfası
Asp.net Hata Sayfaları - Web.Config ile Custom Error Asp.net Hata Sayfası

Asp.net hata sayfaları konusunu web.config yapılandırması ile anlatacağız. Bu yapılandırmaya göre her hata koduna özgü ayrı bir hata sayfası oluşturmak (404,500) mümkünken, tümü için tek bir genel hata sayfası kullanmak da mümkündür.

Asp.net hata sayfaları web uygulamanızın güvenliği ve SEO için önemli sayfalardır. Web sitenizde bir sorunla karşılaşılması durumunda veritabanı bağlantı cümleniz gibi hassas bilgileriniz kullanıcılar tarafından görülebilir. Ayrıca SEO uyumlu bir site için hata sayfalarınızın bulunması ve optimize edilmiş olması önemlidir.

Visual Studio ile yeni web projesi açarak hata durumunda görüntülenecek sayfalarımızı tasarlayarak başlayalım. Bu örnek projede error.aspx ve 404.aspx isminde 2 hata sayfası oluşturduk. Çoğu durumda, hata sayfasında programlama yeteneklerini kullanmayacaksanız bu sayfaları salt HTML formatta da (404.html gibi) oluşturabilirsiniz.

Örnek 404 hata sayfamızın içeriği aşağıdaki gibi;

Hata sayfası için özel bir tasarım hazırlıyorsanız kullanıcının en azından ana sayfaya dönebilmesi için bir link yerleştirmeniz yararınıza olur. Aksi durumda hata sayfası ile karşılaşan ziyaretçiniz sitenizi terk edecektir. Ayrıca site içi arama özelliği geliştirdiyseniz bunu hata sayfanıza yerleştirmek yine yararınıza olacaktır.

Web.Config Üzerinde Asp.net Hata Sayfaları Ayarları

Web.config üzerinde hata sayfaları ayarlamaları oldukça basittir. system.web düğümü içerisinde customErrors düğümü ile hata sayfalarımızı bildirebiliriz. Bu örnek için oluşturduğumuz customErrors düğümü aşağıdaki gibi;

Bu örnekte 3. satırdaki kodlama ile 404 kodlu hata için 404.aspx sayfasının, diğer tüm hatalar için varsayılan (2. satır) olarak error.aspx sayfasının görüntülenmesini belirtiyoruz.

Buradaki defaultRedirect özelliği varsayılan hata sayfası, yani buradaki örneğimizde 404 kodlu hata dışındaki tüm hatalarda görüntülenecek sayfayı bildiren özellik.

Mode özelliği ile 3 farklı durumdan birini belirleyebiliyoruz. Off durumu hata sayfalarının kullanılmadığı durumlar içindir. RemoteOnly, hata sayfalarının sadece gerçek sunucu üzerinde aktif, localhost üzerinde pasif olduğunu belirtiyor. Bu örnekte kullandığımız On durumu ise sayfaların yerel sunucuda da uzak sunucuda da aktif olduğunu bildirir.

Asp.net SEO ve güvenlik için oldukça önemli olan asp.net hata sayfası ayarları anlatımımız bu kadar. Örnek projeyi indirmek için buraya tıklayabilirsiniz. Diğer hata kodları ile ilgili bilgi almak için wiki sayfasını ziyaret edebilirsiniz.

Bir önceki yazımız olan Asp.net Url Rewrite (Url Değiştirme) başlıklı makalemizi de okumanızı öneririz.

CEVAP VER