IIS Üzerinde “404 Not Found” Hatası Nasıl Düzeltilir?

IIS Üzerinde “404 Not Found” Hatası Nasıl Düzeltilir?
Yazı Özetini Göster

IIS Üzerinde “404 Not Found” Hatası Nasıl Düzeltilir?

IIS (Internet Information Services) üzerinde çalışan web sitelerinde sık karşılaşılan hatalardan biri “404 Not Found” uyarısıdır. Bu hata, istemcinin (tarayıcının) talep ettiği kaynağın (sayfa, dosya, API) sunucuda bulunamadığını gösterir. Ancak çoğu zaman bu durum dosya eksikliğinden değil, yanlış yönlendirme, MIME tipi veya izin sorunlarından kaynaklanır. Bu rehberde, IIS üzerinde “404” hatasının olası nedenlerini ve kesin çözüm adımlarını anlatıyoruz.

1. Temel Hata Anlamı

404 Not Found, sunucuya yapılan isteğin doğru şekilde ulaşmasına rağmen, istenen dosya veya URL’nin karşılığının bulunamadığını belirtir. Hata genellikle şu durumlarda ortaya çıkar:

  • Dosya veya dizin gerçekten mevcut değil.
  • Yanlış sanal dizin (virtual directory) yapılandırması.
  • Uygulama havuzu (App Pool) yanlış framework veya izinle çalışıyor.

2. IIS’te Hata Türünü Doğrulama

“404.0”, “404.2”, “404.3” gibi alt kodlar (sub-status) hatanın kaynağını gösterir. Örneğin:

  • 404.0 → Dosya veya dizin bulunamadı.
  • 404.2 → Web servisi erişimi engellenmiş.
  • 404.3 → MIME türü engellenmiş.

Alt kodu görmek için Detailed Errors özelliğini etkinleştirin:

IIS Manager → Error Pages → Edit Feature Settings → Detailed Errors

3. Dosya/Dizin Yapısını Kontrol Edin

İlk adım olarak site kök dizininde (örneğin C:\inetpub\wwwroot) dosyaların gerçekten var olduğundan emin olun. Özellikle index.html veya default.aspx dosyası eksikse IIS varsayılan sayfayı bulamayabilir.

4. Default Document Ayarlarını Kontrol Edin

Varsayılan açılış dosyası listesinde doğru dosya türü bulunmuyorsa 404 hatası alınabilir.

IIS Manager → Site → Default Document → Add → index.html veya default.aspx

5. MIME Türü (MIME Type) Eksikliği

IIS, tanımlanmamış dosya türlerini güvenlik nedeniyle sunmaz. Örneğin .json, .webp veya özel uzantılı dosyalar için MIME tipi eklemek gerekir:

IIS Manager → MIME Types → Add  
Extension: .json  
MIME type: application/json

6. Uygulama Havuzu (App Pool) Ayarlarını Doğrulama

Yanlış çalışan uygulama havuzu, framework uyuşmazlığı veya kimlik hatası da 404’e yol açabilir.

  • Siteye ait App Pool’un durumu “Started” olmalı.
  • .NET CLR Version değeri uygulama türüne uygun olmalı (ör. v4.0).
  • Identity kısmı “ApplicationPoolIdentity” olarak ayarlanmalı.

7. Handler Mapping Kontrolü

IIS, belirli uzantıları hangi modülün işleyeceğini Handler Mappings üzerinden belirler. Eğer .php, .aspx veya .json için handler eksikse istek 404 olarak döner.

Örnek: ASP.NET handler’ı eklemek için:

IIS Manager → Handler Mappings → Add Managed Handler  
Request path: *.aspx  
Type: System.Web.UI.PageHandlerFactory

8. Fiziksel Yol (Physical Path) Yetkileri

Uygulama dizininde “Read” izni yoksa, IIS dosyayı bulsa bile erişemez. Düzeltmek için:

Sağ tık → Properties → Security → Edit → Add → IUSR → Read & Execute izni

9. URL Rewrite veya Web.config Sorunları

Yanlış yapılandırılmış web.config veya Rewrite Rule, IIS’in gerçek dosya yolunu bulamamasına neden olabilir. Özellikle WordPress veya Angular projelerinde sık görülür.

<rewrite>
  <rules>
    <rule name="Redirect all" stopProcessing="true">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
      </conditions>
      <action type="Rewrite" url="index.html" />
    </rule>
  </rules>
</rewrite>

10. Yönlendirme (Redirect) veya Alias Hataları

Siteyi farklı bir dizine taşıdıysanız veya sanal dizin (alias) kullandıysanız, IIS’in doğru kök yolu (root path) gösterdiğinden emin olun:

IIS Manager → Site → Basic Settings → Physical Path

11. Modül (Module) Çakışmaları

URL Rewrite, ARR veya PHP modülleri gibi üçüncü parti eklentiler, aynı istekleri yönlendirmeye çalıştığında çakışma yaratabilir. Gereksiz modülleri devre dışı bırakın.

12. Log (Günlük) Dosyalarını İnceleme

IIS logları genellikle şu dizindedir:

C:\inetpub\logs\LogFiles\W3SVC1

Log dosyasında 404 satırlarını filtreleyerek hangi URL’nin hata verdiğini görebilirsiniz.

Sonuç

IIS 404 hatası, genellikle küçük yapılandırma veya izin hatalarından kaynaklanır. Dosya yollarını, MIME tiplerini, App Pool ayarlarını ve web.config yönlendirmelerini kontrol ederek çoğu durumda sorunu çözebilirsiniz. Daha kararlı ve optimize edilmiş Windows Hosting çözümleri için HostLigo Kurumsal Hosting veya Premium VDS tercih edilebilir.

Bir Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Benzer Yazılar