Asp.NET Hosting de URL Routing Hatası (404 Sayfa Bulunamadı)

Günümüz siteleri, arama motorları optimizasyonuna uyum sağlama çabası içerisindedirler.Hal böyleyken site içerisindeki linklerin okunabilirlik açısından daha anlaşılabilir olması için .NET teknolojisinde genellikle URL Routing yönetimi kullanılmaktadır.Tabi bu yazımızın içeriği URL Routing değil, URL Routing yöntemi kullanılan web projelerini hosting’e attıktan sonra alınan absürt hatanın çözümü anlatılacaktır.Tabi absürt diyorum çünkü “404 Sayfa Bulunamadı” hatası 🙂 Bu hatayla ilk karşılaşıldığında, “Ulan site zaten yayında, localde var olan sayfa burda nasıl bulunamadı” diye tepki göstermemizi sağladığından dolayı absürt 🙂
Tabi bu hatanın çözümü hiçte kompleks değil.Projeyi,IIS’te Integrated Mod’da yayınlamamız gerekiyor.Web.config dosyasında yapacağımız ufacık bir değişiklik sorunumuzu 100% çözecektir.

Aşağıdaki kodları Web.config dosyamıza eklememiz yeterlidir.

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <add name="UrlRoutingModule"
           type="System.Web.Routing.UrlRoutingModule, 
           System.Web.Routing, Version=3.5.0.0, 
           Culture=neutral, 
           PublicKeyToken=31BF3856AD364E35" />
      <!-- ... -->
    </modules>
    <handlers>
      <add name="UrlRoutingHandler"
           preCondition="integratedMode"
           verb="*" path="UrlRouting.axd"
           type="System.Web.HttpForbiddenHandler, 
            System.Web, Version=2.0.0.0, Culture=neutral, 
            PublicKeyToken=b03f5f7f11d50a3a" />
      <!-- ... -->
    </handlers>
  </system.webServer>

Sorunun çözümü bu kadar 🙂
Kolay gelsin

Bunlar da hoşunuza gidebilir...

23 Cevaplar

  1. ercan dedi ki:

    sayın gencay bey sağ klik olayı kapalı sitenizden yararlanamıyoruz. lütfen açın da bizde yararlanalım :))

    • Gencay dedi ki:

      🙂 Belirli şahsi sebeplerden ötürü bu kısıtlamayı getirdim.Gerekli programlar kullanıldığı taktirde engeli aşabilirsiniz.

      • ercan dedi ki:

        HTTP Error 404.0 – Not Found
        The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

        makalenizi harfi’en uyguladım fakat ayşe teyze sonuç yine kirli yine kirli (ayşe teyze: ace kullan), şey pardon karıştırdım. sonuç yine aynı yine aynı. 🙂

        • ali dedi ki:

          bende aynılarını yaptım yine olmuyor.

          • Gençay dedi ki:

            Sayın Ali,
            Yaptığınız işlem neticesinde farklı bir hata mı aldınız?
            Ya da verilen kodu kopyaladığınız node yanlış olabilir.
            Sorununuzu tam olarak yazmadığınızdan dolayı, teoriler üretme mecburiyetinde bırakmanız anca bu kadar cevap verebilme özgürlüğü tanıyor..
            Saygılarımla

  2. Hacı dedi ki:

    Merhaba.

    Hacı bende reseller hosting var. Localde sql 2008 r2 var.
    Localde çalışıyor. Hosta attım, site çalışıyor > linke tıkladım > Not Found
    The requested document was not found on this server.
    Çalışmadı. İnş bir vds falan alıp kurtulacam bu hostlardan ama şuan bunu nasıl çözebilirim?
    Resellerdan halledilecek birşey yok heralde.
    Bir sürü kod ekledim web.config e ama > 404.

    • Gençay dedi ki:

      Merhaba Hacı,
      Projenizde URL Routing mekanizması kullanıyor musunuz?

      • Hacı dedi ki:

        Global.asax kodları şunlar:

        void RoutingAyar(RouteCollection routes)
        {
        routes.MapPageRoute(“icerikdetay”, “{Baslik}_Id={IcerikId}.html”, “~/Makale.aspx”);

        Bu kadar. Sitede de a href arasına çekiyorum. Localde sorunsuz.
        Hostta çalışmıyor. Yukarıdaki dediğiniz kodları da ekledim yine aynı.

        Farklı yöntemler mevcut routing için.
        Çalışır mı emin değilim.
        Öneriniz varmı? Şunu dene birde diyebileceğiniz? Çok önemli bir problem değil. Ama olursada şahane olur dua ederim.
        Cevap için teşekkürler Gençay.

      • Gençay dedi ki:

        Hosting firmanızla konuşup URL Routing desteğini aktif hale getirtiniz.Aynı sorundan bende musdariptim bir zamanlar 😉
        Sorun halledilmezse haberleşelim, başka yöntemler deneriz..

  3. Yunix dedi ki:

    kod paylaşımı için teşekkürler
    işimizi gördü elinize emeğiniize sağlık…

  4. Süleyman dedi ki:

    Hocem eline sağlık,çok işime yaradı..

  5. volkan kılıç dedi ki:

    yukarıdakilerin hepsini uyguladım. 10 dakika doğru çalışıyor daha sonra tekrar aşağıdaki hatayı veriyor. Sereverı arıyorum bir şey düzeltiyorlar 10 dakika sonra yine aynı
    HTTP Error 404.0 – Not Found

    The resource you are looking for has been removed, had its name changed, or is temporarily unavailable

    • Gençay dedi ki:

      Merhaba Volkan,
      Verilen ayarı uyguladıktan sonra Hosting firmanızla görüşünüz ve URL Routing destediğini açmasını bildiriniz.Lakin arayıp durumu izah ettiğinizi belirtmişsiniz ama bunun sebebi ancak hosting firmasıyla halledilebilir.

  6. yunus dedi ki:

    Yeni kullandım bu modülü, global.asax yapılandırmam doğru fakat sayfa hata veriyordu, web.config kodları hatayı çözdü, Teşekkür ederim, Emeğine sağlık

  7. Emir dedi ki:

    Selam.

    %100 faydalanamamış olsamda yol gösterici oldu. Keza hata koduna kadar aynı olmasına rağmen uyguladığım metot farklı.
    Site Bindings altına host header değerlerimi ekleyerek sorunu aştım.

    Teşekkürler.

  8. harmangersi dedi ki:

    404 – File or directory not found.

    The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable. CÖZÜM BULAMADIM

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*

Copy Protected by Chetan's WP-Copyprotect.