404 - Not Found / Sayfa Bulunamadı Hatasının Çözümü
Sayfa bulunamadı hatası alıyorsanız işte çözümü...
Sayfa bulunamadı hatasını web.config içerisinden yönetebiliyoruz.
Amacımız, sitemizde olmayan bir sayfaya veya klasöre erişimde bulunulmak istendiğinde -silinen sayfalara google botlarının erişmeye çalışması dahil- kullanıcılara ve arama motoru botlarına bu sayfanın artık silindiğini söylemek ve
Server Error in '/' Application.
The resource cannot be found.
gibi hoş olmayan bir hata sayfası ile karşılaşmak zorunda bırakmamak.
Çözüm basit: web.config içerisine 2 düğüm ekleyeceğiz.
Önce uzantı belirtilmediğinde yani olmayan bir klasör görüntülenmek istendiğinde hatayı yönetelim:
system.webServer tag ları arasına httpErrors düğümünü ekleyeceğiz:
<system.webServer> <httpErrors> <remove statusCode="404" subStatusCode="-1" /> <error statusCode="404" path="/404.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" /> </httpErrors> </system.webServer>
Tahmin edeceğiniz üzere, böyle bir durum ile karşılaştığımızda ana klasördeki 404.aspx sayfamıza yönlendirdik.
(Diğer parametreleri isteyen arkadaşlar araştırabilirler.)
Şimdi de olmayan bir sayfaya erişilmek istendiğinde hatayı yönetelim:
Bunun için system.web altına klasik customErrors düğümünü ekleyeceğiz:
<system.web> <customErrors mode="RemoteOnly" redirectMode="ResponseRewrite"> <error statusCode="404" redirect="/404.aspx" /> </customErrors> </system.web>
işimiz bitti mi? Hayır.
Şimdi de 404.aspx sayfası içerisinde 404 hata kodunu üretmeliyiz ki arama botları sayfamızı düzgün bir şekilde indexleyebilsinler.
protected void Page_Load(object sender, EventArgs e) { Response.StatusCode = 404; Response.StatusDescription = "Not found"; }
İşte bu kadar.
Şimdi bunları bir site üzerinde örnekleyelim:
http://tarimsalpazarlama.com/asdxasdx.aspx (olmayan bir dosyaya erişim)
http://tarimsalpazarlama.com/asdxasdx (olmayan bir klasöre erişim)
Ve karşımızda bizim istediğimiz sayfa:
İsteyenler gerçekten 404 kodunun döndürüldüğünden emin olmak için şu linke göz atabilirler:
http://404checker.com/status/www.tarimsalpazarlama.com/asdxasdax.aspx
Ya da bu konu ile ilgili bir program tavsiye edebilirim:
Fiddler Web Debugger http://www.fiddler2.com
Herkese kolay gelsin.
#404 #response #status #status-code #page-not-found #nof-found #fiddler #404checker-com #customErrors #httpErrors