ASP.NET MVC’de Kullanıcıları Özel 404
Sayfasına Yönlendirme
Web uygulamaları dünyasında, kesintisiz bir kullanıcı deneyimi sağlamak esastır. Bir kullanıcının URL’yi dikkatlice yazdığını hayal edin ve karşılaştığı hatanın var olmayan bir rota nedeniyle sinir bozucu bir hata sayfası olması. Bu durum, kullanıcıların kafasının karışmasına ve hayal kırıklığına uğramasına neden olabilir. Neyse ki, geliştiriciler olarak, bu tür senaryoları nazikçe yöneterek uygulamalarımızı geliştirme yeteneğine sahibiz.
Bu blog gönderisinde, ASP.NET MVC’de var olmayan bir denetleyiciye erişmeye çalışan kullanıcıları nasıl özel bir 404
hata sayfasına yönlendireceğimizi keşfedeceğiz.
Problemi Anlamak
Bir kullanıcı, ASP.NET MVC uygulamanızda herhangi bir denetleyici veya işleme karşılık gelmeyen bir URL’yi ziyaret etmeye çalıştığında, bir istisna fırlatılır. Örneğin, birisi şu URL’ye gitmeye çalışırsa:
http://www.nosite.com/paeges/1
Bu URL yanlıştır ve /pages/
denetleyicisine yönlendirilmelidir. Kullanıcıyı genel bir hata mesajına yönlendirmek yerine, onları dostça ve bilgilendirici bir özel 404
sayfasına yönlendirmek istiyoruz.
Çözüm Genel Bakış
Bu hedefe ulaşmak için, ASP.NET MVC uygulamamızı belirli bir 404
sayfasına yönlendirme ile yönlendirme istisnalarını ele alacak şekilde yapılandırmamız gerekiyor. Bunu yapmanın adım adım bir incelemesi burada.
Adım 1: Özel Hata Sayfanızı Tanımlayın
Yönlendirme yapılandırmasına girmeden önce, ilk adım bir özel 404
sayfası oluşturmaktır. Bu, kullanıcının hatadan haberdar olduğu ve muhtemelen yararlı bağlantılar önerdiği basit bir görünüm olabilir.
- Bir Görünüm Oluşturun:
/Views/Shared/
dizininizdeError404.cshtml
adında yeni bir görünüm ekleyin. - İçeriği Tasarlayın: İçeriğin kullanıcı dostu olmasına dikkat edin. Örneğin:
<h1>Hata! Sayfa Bulunamadı</h1> <p>Üzgünüz, aradığınız sayfa mevcut değil. Lütfen URL'yi kontrol edin veya ana sayfaya geri dönün.</p>
Adım 2: Özel Hatalar için Web.Config’i Güncelleyin
Sonraki adım, belirli bir HTTP durum kodu gerçekleştiğinde ASP.NET MVC uygulamanıza özel hata sayfasını görüntülemesini bildirmektir. Web.config
dosyanızı açın ve aşağıdaki satırları ekleyin:
<system.web>
<customErrors mode="On" defaultRedirect="~/Error404">
<error statusCode="404" redirect="~/Error404" />
</customErrors>
</system.web>
- mode: Bu değeri
On
olarak ayarlayarak özel hata sayfalarını etkinleştirin. - defaultRedirect: Bu, özel hata sayfanıza giden yoldur.
- error: Bu,
404
hatası oluştuğunda uygulamanın belirtilen sayfaya yönlendirilmesi gerektiğini belirtir.
Adım 3: Global.asax Dosyasında Yönlendirmeleri Yönetin
Sonraki adım, yönlendirme sorunlarının yakalanmasını sağlamaktır. Global.asax
dosyanızı açın ve aşağıdaki yöntemi ekleyin:
protected void Application_Error()
{
Exception exception = Server.GetLastError();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
int httpCode = httpException.GetHttpCode();
if (httpCode == 404) // Bulunamadı
{
Response.Clear();
Server.ClearError();
Response.Redirect("~/Error404");
}
}
}
- Application_Error(): Bu yöntem, uygulamanızda önceden işlenmemiş bir hata oluştuğunda çalışır.
- İstisnayı Yakala: Kod, istisnayı yakalar ve HTTP durum kodunun
404
olup olmadığını kontrol eder. - Yönlendir: Eğer öyleyse, hatayı temizler ve kullanıcıyı özel
404
sayfanıza yönlendirir.
Sonuç
Bu adımları takip ederek, var olmayan sayfalara yönelen kullanıcıların, genel bir istisna hatası yerine dostça bir 404
hata sayfası ile karşılaştıklarından emin olabilirsiniz. Bu, kullanıcı deneyimini geliştirmekle kalmaz, aynı zamanda ASP.NET MVC uygulamanızda bir profesyonellik düzeyi de korur.
Web uygulamalarınızı geliştirmeye ve iyileştirmeye devam ederken, hataları nasıl yönettiğinizin detaylara olan dikkatiniz ve kullanıcı memnuniyetine olan bağlılığınızı gösterdiğini unutmayın. Bu basit değişiklikleri uygulamak için zaman ayırın ve web uygulamanızın kullanılabilirliğindeki olumlu etkiyi görün.
Bu basit adımlarla, ASP.NET MVC uygulamanızın yönlendirme hatalarını nasıl yöneteceğini geliştirebilirsiniz. İyi kodlamalar!