HTTP Hatası 403.14 - Yasak - Web sunucusu bu dizinin içeriğini listelemeyecek şekilde yapılandırıldı


146

Visual Studio 2012'de yeni bir boş web sitesi oluşturdum ve çalıştırmayı tıkladım (yani tarayıcıda görüntüle) ve bu hatayı alıyorum:

HTTP Hatası 403.14 - Yasak Web sunucusu, bu dizinin içeriğini listelemeyecek şekilde yapılandırıldı.

IIS'ye girdim ve Dizin tarama'yı tıkladım ve Dizin tarama özelliğinin etkinleştirildiğinden emin oldum, ancak yine de bu hatayı alıyorum. Ben çözemiyorum?

Az önce oluşturduğum web sitesi projesi, garip olduğunu düşündüğüm IIS Yöneticisi'ndeki Varsayılan web sitelerinde listelenmiyor.

Bu hatadan nasıl kurtulurum?


Proje IIS kullanacak şekilde yapılandırılmış mı? Veya IIS Express? Veya Casini?
Kris Vandermotten

Eğer mı koşmak ya tarayıcıda görüntülemek ? 2 farklı şey. Bu bir MVC projesi ise, viewtarayıcıda bir görüntülemeyi denemiş olabilir misiniz ?
christiandev

Eğer etkin olduğundan emin olun ASP.NET 4.5 veya ASP.NET dan Denetim Masası \ Tüm Denetim Masası Öğeleri \ Programlar ve Özellikler, Windows veya \ Internet Information Services \ Dünya dışı Özellikleri çevirin \ Wide Web Servisleri \ Application Geliştirme \ ASP.NET Özellikler 4.5 veya ASP.NET 3.5 , Uygulama havuzu ayarlarınıza bağlı olarak.
Bimal Das

Yanıtlar:


142

bunu web yapılandırma dosyanızda saklayın ve add value = "yourwebformname.aspx" olarak yeniden adlandırın.

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

Başka

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

1
Aylardır bu proje üzerinde çalışıyorum - bu çizgiye hiç ihtiyaç duymadım. Siteyi bugün yayınladım ve artık hata ayıklamada çalıştırılmayacaktı !!! Bu çizgi eklendi tekrar çalışır! SVN kontrol - kesinlikle daha önce hiç gerekli. O NE LAN!? Yine de teşekkürler, sadece bir saat harcadım :)
Percy

HTTP Hatası 500.22 - Dahili Sunucu Hatası alıyorum.
Bryan Labuschagne

40

Bu sorun, Web sitesinde Directory Browsingözellik etkin olmadığı ve varsayılan belge yapılandırılmadığı için oluşur. Bu sorunu gidermek için aşağıdaki yöntemlerden birini kullanın. Bu sorunu gidermek için <a0> </a0>, MS Destek sayfasında ve önerilen yöntemde belirtildiği gibi Yöntem 1'deki adımları izledi .

Yöntem 1: IIS'de Dizin Tarama özelliğini etkinleştirme (Önerilir)

  1. IIS Yöneticisi'ni başlatın. Bunu yapmak için Başlat'ı tıklatın, Çalıştır'ı tıklatın, inetmgr.exe yazın ve Tamam'ı tıklatın.

  2. IIS Yöneticisi'nde sunucu adını genişletin, Web siteleri'ni genişletin ve sonra değiştirmek istediğiniz web sitesini tıklatın.

  3. Özellikler görünümünde Dizinlere Gözatma'yı çift tıklatın.

  4. Eylemler bölmesinde Etkinleştir'i tıklatın.

Bu işe yaramazsa, bir Dizin listeleme sorunundan farklı bir sorununuz olabilir. Aşağıdaki adımı izleyin,

Yöntem 2: Varsayılan bir belge ekleme

Bu sorunu gidermek için aşağıdaki adımları izleyin:

  • IIS Yöneticisi'ni başlatın. Bunu yapmak için Başlat'ı tıklatın, Çalıştır'ı tıklatın, inetmgr.exe yazın ve Tamam'ı tıklatın.
  • IIS Yöneticisi'nde sunucu adını genişletin, Web siteleri'ni genişletin ve sonra değiştirmek istediğiniz web sitesini tıklatın.
  • Özellikler görünümünde, Varsayılan Belge'yi çift tıklatın.
  • Eylemler bölmesinde Etkinleştir'i tıklatın.
  • Dosya Adı kutusuna varsayılan belgenin adını yazın ve Tamam'ı tıklatın.

Yöntem 3: IIS Express'te Dizin Tarama özelliğini etkinleştirme

Not Bu yöntem, IIS Express kullandıklarında sorun yaşayan web geliştiricileri içindir.

Bu adımları takip et:

  • Bir komut istemi açın ve bilgisayarınızdaki IIS Express klasörüne gidin. Örneğin, komut isteminde aşağıdaki klasöre gidin: C:\Program Files\IIS Express

  • Aşağıdaki komutu yazın ve Enter tuşuna basın:

    appcmd set config /section:system.webServer/directoryBrowse /enabled:true


Bu cevap kabul edilmelidir. Yöntem 2 benim için çalıştı. Başlangıçta boş bir web sitesi oluşturdum ve sonra "WebForm1.aspx" adlı bir web formu ekledim. Bu yüzden bu adı varsayılan belge listesine eklemem gerekiyor. Teşekkür ederim.
novato

31

Cmd'ye gidin ve şunu yazın:

x64 işletim sistemi için:% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

x32 işletim sistemi için:% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

Bu, doğru sürümü yükler ve IIS, MVC dizini taramasını anlar


% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir bu benim için 64bit sistemim ve MVC uygulamam için çalıştı
Amar Gadekar

x64 komutu da benim için çalıştı asmx web hizmetinde oluşan bu sorunu çözmek için
Cavid

24

Sorunun birden fazla nedeni olabilir. IIS 8.5'te benim için çalışan bir tanesi aşağıdaki gibiydi

adımlar

  1. Aramada "pencere özelliklerini aç veya kapat" yazın.
  2. Sunucu Yöneticisi'nde "Rol ve özellik ekle" yi tıklayın.
  3. Sihirbaz'da Web sunucusuna gidin ve şunu seçin: Web Sunucusu -> Uygulama Geliştirme. Ekran görüntüsünde gösterildiği gibi listeden CGI hariç tümünü seçin

resim açıklamasını buraya girin

  1. Sonunda sonrakini yükle ve Yükle.
  2. IIS'yi yeniden başlat

Web siteniz çalışmaya başlayabilir.


18

Bir başlangıç ​​sayfası belirleyin.

Bu sorunu yaşadığımda, çözüm gezgini içine gittim, önce görmek istediğim sayfayı buldum (benim durumumda "Home.aspx), sağ tıkladı ve" Başlangıç ​​Sayfası Olarak Ayarla "yı seçtim. Visual Studio 2012 Professional'daydı ve Firefox'ta çalıştırdım.


17

web.configDosyaya aşağıdaki ayarları eklemeyi deneyin .

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

2
HTTP Hatası 500.22 - Dahili Sunucu Hatası
Bryan Labuschagne

Sorunum çözüldü, bu kodu webconfig dosyasına ekledikten sonra teşekkürler.
yadavr

17

Bu kod pasajını web.config dosyasının içine yapıştırdım ve hata çözüldü.

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

10

Bunun için hızlı bir çözümüm var. Aslında bu hatayı aldım çünkü web sayfamı başlangıç ​​sayfası olarak ayarlamamıştım. Web sayfamı (html / aspx) aşağıda gösterildiği gibi başlangıç ​​sayfası olarak ayarladığımda bu hatayı düzelttim.resim açıklamasını buraya girin

Bu çözümün başkalarına yardım edip etmeyeceğini bilmiyorum.


8

Boş web sitesi şablonu, Web.config dosyası içeren ancak başka dosya içermeyen bir ASP.NET web sitesi oluşturur. Göz atma veya çalıştırma sırasında gösterilecek varsayılan sayfanız olmadığı anlamına gelir.

Bu hata iletisi, IIS'nizde varsayılan belgeyi düzgün şekilde ayarlamadığınız ve yapılandırmamanız gerektiği anlamına gelir.

Bu yapılandırıldıktan sonra hata mesajı kaybolacaktır.


Boş web sitesine bir ana sayfa ekledim ve kod olmadan çalıştırmak tıkladığında hala bir hata var. Çalıştırmak için ne yapmam gerektiğinden emin değilim?
Aindriu

web sitenizde varsayılan sayfanız yoksa, varsayılan sayfayı bu bağlantıda gösterildiği gibi oluşturun ve ayarlayın iis.net/learn/web-hosting/web-server-for-shared-hosting/…
Sain Pradeep

Hayır Boş web sitesinde varsayılan bir sayfam yoktu. Bir C # kitapta bir örnek takip ediyorum. Varsayılan bir sayfa ekledim ve sayfa web tarayıcısında yüklenecek. Ancak örnek yalnızca kalıp sayfaları kullanıyordu. Neden işe yaramadığını anlamıyorum. Bu çok basit bir örnek.
Aindriu

8

IIS'deki sitede:

  1. 'Gelişmiş Ayarlar'ı seçin
  2. Sonra uygulama havuzu için "ASP.NET v4.0" seçin

örneğin resim


2
Bu OP'nin sorusuna cevap vermiyor. IIS'de bir site tarafından kullanılan Uygulama Havuzu'nun değiştirilmesinin, sitenin dizin içeriklerini listelemek (veya bunları listelememek) için nasıl yapılandırıldığı üzerinde herhangi bir etkisi yoktur. Bunun yerine web.config dosyasındaki yapılandırma ile ilgilidir.
JNYRanger

8

Denetim Masası> Windows Özelliklerini açma veya kapatma

İnternet Bilgi Hizmetleri> World Wide Web Hizmetleri> Uygulama Geliştirme Özellikleri

İki seçeneği etkinleştirin

.NET Genişletilebilirliği 3.5
.ASP.NET 3.5

Altında resim açıklamasını buraya girin



5

Benim durumumda, boş bir Web Api projesi oluşturduktan sonra aynı hatayı aldım.

Ben düzenleyerek çözüldü RouteConfig.cs içinde App_Start klasörüne :)

Kod okuma satırını değiştirdim: -

defaults: new { action = "Index", id = UrlParameter.Optional }

Takip ederek :-

defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }

Sadece indeks eylemini ilk olarak çağırmak istediğim Kontrolörü belirtmek zorunda kaldım.

Yukarıdaki tüm yanıtlar davamı çözmedi (istediğim gibi) örn.

  • Web.config'den dizine göz atmayı etkinleştirme tıpkı bir dizin dosyanız olmadığında php'nin yaptığı gibi tüm dosya ve klasörleri listeledi
  • Ayar defaultDocument de benim için iş vermedi nedense hala HTTP Hatası 403,14 var (neden hala hiç bir fikrim yok)

Benimkiyle benzer koşullarda biri varsa, bunu deneyin.


İhtiyacım olan cevabın çoğu buydu. Ancak denetleyici adı, bir MVC uygulaması Denetleyici adı için oluşturulanlarla eşleşmelidir (Denetleyicinizi IndexController'ı çağırırsanız çalışır) - böylece bir denetleyicideki varsayılan işlem adı Dizin olmalı ve sonra hepsi birbirine bağlanır - öneriler herkesin sitenizin içeriğinde gezinmesine izin verdiği için dizin taramasını kullanmak iyi bir fikir DEĞİL.
Mark W. Mitchell


4

Benim durumumda, web uygulamam .NET v4 olduğu ve uygulama havuzu .NET v2 için yapılandırıldığı için bu hatayla karşılaştım.

Uygulama havuzuna çift tıklandığında, istenen .NET Framework sürümünü seçebileceğimiz bir açılır pencere açılır.


4

ÇÖZÜLDÜ
Arama "Windows Feature"start ->
tıklayın "turn features on and off"->
Expand "Internet Information Services"ve
her alt klasöründe her PROGRM kontrol edin ve
"OK" tıklayın
Bu, tüm sorunları çözecektir. resim açıklamasını buraya girin


3

Aşağıdaki adımları nadas ile çözdüm =>

  1. IIS Yöneticisi'ni açın
  2. Uygulamayı tıklayın
  3. Dizin Tarama'yı tıklayın
  4. Özelliği Aç'ı tıklayın (Sağda İşlemler altında göreceksiniz)
  5. Etkinleştir'i tıklayın

2

Bu bir serseri applicationhost.config girdisinden kaynaklanabilir.

Çalışıyorsa IIS Express'i durdurun (Windows Sistem Tepsisindeki açık mavi kaydırma öğesi simgesine sağ tıklayın; Çıkış).

Projenizin Özellikler> Web'e gidin ve Proje URL'sinin doğru olup olmadığını kontrol edin. Bir https URL'si olması durumunda, geçerli aralıkta bir bağlantı noktası numarası içerdiğinden emin olun. Bir doğru URL olabilir: https://localhost:44300/. Şimdi URL'nin yanındaki "Sanal Dizin Oluştur" düğmesine basın. Bu, applicationhost.config dosyasına yeni bir giriş ekler.

Projeyi tekrar başlatın ve umarız artık hatayı alamazsınız.


2

Eminim yıllar sonra muhtemelen bir cevabınız vardır. Ancak gelecekte başka birinin cevap araması durumunda.

Benim sorunum için, hiçbir şey web.config zorunda değildi. Daha önce çalıştığı için de ihtiyacım olacağını düşünmemiştim.

Hiçbir klasörün sayfanızla aynı adlı olduğundan emin olun, "blog" adlı bir klasör ve "blog.aspx" adlı bir sayfam vardı, klasörü yüklemeye çalışıyordu, bağlantıda bunu fark ettim, klasörü blog olarak değiştirdim , şimdi iyi yükleniyor.

Arama sorgusunda ilk siz olduğunuz için buraya bir kopya gönderiyorum.


2

Sorun, projeyi görsel stüdyoda yanlış açılan sekmede olurken IIS'de visual studio'dan çalıştırmaktan kaynaklanabilir, bu nedenle çözüm sağ sekmeyi (tarayıcınızda test etmek istediğiniz web formu) veya diğerlerinde önerildiği gibi açmaktadır. diğer yanıtlar için, ana sayfa olarak ayarlamak istediğiniz web formunu sağ tıklayın ve ardından 'Başlangıç ​​Sayfası Olarak Ayarla' düğmesini tıklayın.


1

Benim durumumda Microsoft.Owin.Host.SystemWebkülçeyi kaçırıyordum.


1

çözüm gezginde projenize sağ tıklayın ve ardından yeni öğe ekle'ye tıklayın, bir HTML sayfası ekleyin ve dizin olarak adlandırın.


1

Benim durumumda

Uygulama Havuzu i .NetFrameWork sürümü V4.0 ve çözülmüş sorunu ayarlayın ....


1

Bu resimde görebileceğiniz gibi IIS'nin Uygulama Geliştirme bölümünü sunucunuza yüklemelisiniz:resim açıklamasını buraya girin


0

Bu, birçok nedenden dolayı olabilir. Yukarıdakilerin tümünü denediyseniz ve hala aynı hatayı alıyorsanız, bir çözüm daha var.

Bunun olmasının bir başka nedeni de

  1. Yeni çözümü çalıştırmaya başlamadan önce aynı kod tabanına sahipseniz, bu hatayla karşılaşabilirsiniz. Bunun nedeni, IIS Express'in, uygulama başlangıç ​​URL'si için fiziksel yolu kayıtlı olan eski çözümle aynı bağlantı noktasında çalışmaya çalışmasıdır.
  2. IIS, çözümü çalıştırmak için fiziksel yolu bulamadığından, uygulamayı başlatmak için gereken tüm dll'leri bulamayabilir.

Çözümler:

  1. Uygulama bağlantı noktasını varsayılan olarak değiştirmeyi deneyin. Örneğin., Yerine http://localhost/kullanınhttp://localhost:25836/

  2. Önceki uygulama için zaten varsayılan bağlantı noktasını kullandıysanız, başka bir bağlantı noktasına geçmeyi deneyin. örn:http://localhost:25364/ yerinehttp://localhost/

Bu, IIS / IIS Express'in, uygulamayı başlatmak için gereken tüm dll'lere sahip olan çalıştırmaya çalıştığınız yeni uygulamanın varsayılan bölme yolunu göstermesini sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.