"404 Dosya bulunamadı" hatasının nedeni aslında çok açık görünüyor: "Dosya bulunamadı". Ancak işin aslı tam olarak öyle değil.
IIS, ve bazı başka web sunucular, güvenlik nedeniyle bir isteği blokladıklarında, yine güvenlik nedeniyle neden bloklandığını son kullanıcıya söylemezler. Bunun yerine "404 Dosya bulunamadı" hatası dönerler. Bazı senaryolarda IIS içeriğin gerçekte var olup olmadığına bile bakmadan bu hatayı döner.
Önce bu "bazı senaryolar"ın ne olduğundan biraz bahsedelim. IIS'e ait olan sürücü (driver) http.sys ve IIS 7.x ile gelen "Request Filtering" modülü, gelen her isteği işlenmeden önce bir takım güvenlik kontrollerinde geçirirler. Bu kontrollerden bazıları:
Tüm bunlar için tanımlı değerlerin dışında bir istek geldiği takdirde istemciye 404 hatası dönülecektir. Ancak elbette bir site yöneticisinin bunları ayırt edebiliyor olması lazımdır. İşte bunu da IIS loglarında hata alt-kodları ile yapabiliyoruz:
IIS 7.x sunucuların tüm hata kodlarının listesine şuradan ulaşabilirsiniz.
CENK İŞCAN