Kesalahan HTTP 403.14 - Terlarang - Server Web dikonfigurasi untuk tidak mencantumkan konten direktori ini

146

Saya baru saja membuat situs web kosong baru di Visual Studio 2012 dan mengklik saat dijalankan (yaitu tampilan di browser) dan saya mendapatkan kesalahan ini:

Kesalahan HTTP 403.14 - Terlarang Server Web dikonfigurasi untuk tidak mencantumkan konten direktori ini.

Saya masuk ke IIS dan mengklik browsing Direktori dan kemudian memastikan bahwa browsing Direktori diaktifkan tetapi saya masih mendapatkan kesalahan ini. Saya tidak tahu?

Proyek situs web yang baru saya buat tidak terdaftar di situs web Default di IIS Manager yang saya pikir aneh.

Bagaimana saya menyingkirkan kesalahan ini?

Aindriu
sumber
Apakah proyek dikonfigurasikan untuk menggunakan IIS? Atau IIS Express? Atau Casini?
Kris Vandermotten
Apakah Anda menjalankan atau melihat di browser ? 2 hal berbeda. Jika ini adalah proyek MVC, maka Anda mungkin telah mencoba untuk melihatnya viewdi browser?
christiandev
Pastikan Anda mengaktifkan ASP.NET 4.5 atau ASP.NET dari Control Panel \ Semua Item Panel Kontrol \ Program dan Fitur \ Mengaktifkan atau menonaktifkan Fitur Windows \ Layanan Informasi Internet \ Layanan Web Luas Dunia \ Fitur Pengembangan Aplikasi \ ASP.NET 4.5 atau ASP.NET 3.5 tergantung pada pengaturan kumpulan Aplikasi Anda.
Bimal Das

Jawaban:

142

simpan ini di file konfigurasi web Anda kemudian ganti nama add value = "yourwebformname.aspx"

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

lain

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
NASSER
sumber
1
Saya telah mengerjakan proyek ini selama berbulan-bulan - tidak pernah membutuhkan baris ini. Saya menerbitkan situs hari ini dan tidak akan berjalan dalam debug lagi !!! Menambahkan baris ini membuatnya berfungsi lagi! Saya memeriksa SVN - jelas tidak pernah membutuhkannya sebelumnya. WTF !? Terima kasih, hanya menyia-nyiakan satu jam :)
Percy
saya mendapatkan Galat HTTP 500.22 - Galat Server Internal.
Bryan Labuschagne
40

Masalah ini terjadi karena situs Web tidak Directory Browsingmengaktifkan fitur, dan dokumen default tidak dikonfigurasi. Untuk mengatasi masalah ini, gunakan salah satu metode berikut. Untuk mengatasi masalah ini, saya mengikuti langkah-langkah dalam Metode 1 seperti yang disebutkan di halaman Dukungan MS dan metode yang direkomendasikan.

Metode 1: Aktifkan fitur Perambanan Direktori di IIS (Disarankan)

  1. Mulai IIS Manager. Untuk melakukan ini, klik Mulai, klik Jalankan, ketik inetmgr.exe, lalu klik OK.

  2. Di IIS Manager, perluas nama server, perluas situs Web, lalu klik situs web yang ingin Anda modifikasi.

  3. Pada tampilan Fitur, klik dua kali Penjelajahan Direktori.

  4. Di panel Tindakan, klik Aktifkan.

Jika itu tidak berhasil, Anda mungkin memiliki masalah yang berbeda dari sekadar masalah daftar Direktori. Jadi ikuti langkah di bawah ini,

Metode 2: Tambahkan dokumen default

Untuk mengatasi masalah ini, ikuti langkah-langkah ini:

  • Mulai IIS Manager. Untuk melakukan ini, klik Mulai, klik Jalankan, ketik inetmgr.exe, lalu klik OK.
  • Di IIS Manager, perluas nama server, perluas situs Web, lalu klik situs web yang ingin Anda modifikasi.
  • Pada tampilan Fitur, klik dua kali Dokumen Default.
  • Di panel Tindakan, klik Aktifkan.
  • Di kotak Nama File, ketikkan nama dokumen default, lalu klik OK.

Metode 3: Aktifkan fitur Perambanan Direktori di IIS Express

Catatan Metode ini untuk pengembang web yang mengalami masalah ketika mereka menggunakan IIS Express.

Ikuti langkah ini:

  • Buka prompt perintah, dan kemudian pergi ke folder IIS Express di komputer Anda. Misalnya, buka folder berikut dalam prompt perintah: C:\Program Files\IIS Express

  • Ketik perintah berikut, dan kemudian tekan Enter:

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

Beruntung
sumber
Ini harus diterima jawaban. Metode 2 bekerja untuk saya. Awalnya saya membuat situs web kosong, dan kemudian menambahkan formulir web bernama "WebForm1.aspx". Karenanya saya perlu menambahkan nama itu dalam daftar dokumen default. Terima kasih.
novato
31

Buka cmd dan ketik ini:

untuk OS x64:% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

untuk OS x32:% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

Ini akan menginstal versi yang tepat dan IIS akan memahami penelusuran direktori MVC

Sadjad Khazaie
sumber
% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe - ini berfungsi untuk saya untuk sistem 64bit dan aplikasi MVC
Amar Gadekar
perintah untuk x64 juga berfungsi untuk menyelesaikan masalah yang terjadi pada layanan web asmx saya
Cavid
24

Mungkin ada beberapa alasan untuk masalah ini. Salah satu yang bekerja untuk saya di IIS 8.5 adalah sebagai berikut

Langkah

  1. Ketik "nyalakan atau matikan fitur windows" dalam pencarian.
  2. Klik "Tambahkan Peran dan fitur" di Server Manager.
  3. Di Wizard gulir ke bawah ke server Web dan pilih: Server Web -> Pengembangan Aplikasi. Pilih semua kecuali CGI dari daftar seperti yang ditunjukkan dalam tangkapan layar

masukkan deskripsi gambar di sini

  1. Akhirnya tekan berikutnya dan Instal.
  2. Mulai ulang IIS

Situs web Anda mungkin mulai berfungsi.

satish suthar
sumber
18

Tetapkan halaman awal.

Ketika saya memiliki masalah ini, saya pergi ke explorer solusi, menemukan halaman yang ingin saya lihat pertama (dalam kasus saya "Home.aspx), klik kanan padanya dan pilih" Set As Start Page. "Ini memperbaiki masalah saya (yang terdengar sangat mirip dengan milik Anda) .Ini ada di Visual Studio 2012 Professional dan saya menjalankannya di Firefox.

kode joshm
sumber
17

Coba tambahkan pengaturan berikut ke web.configfile.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Litisqe Kumar
sumber
2
Kesalahan HTTP 500,22 - Kesalahan Server Internal
Bryan Labuschagne
Masalah saya teratasi, setelah menambahkan kode ini dalam file webconfig, terima kasih.
yadavr
17

Saya baru saja menempelkan potongan kode ini di dalam file web.config dan kesalahannya terpecahkan.

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>
Chamila Maddumage
sumber
10

Saya punya satu obat cepat untuk ini. Sebenarnya saya mendapat kesalahan ini karena saya belum menetapkan halaman web saya sebagai halaman awal. Ketika saya melakukan halaman web saya (html / aspx) sebagai mengatur halaman awal seperti yang ditunjukkan di bawah ini saya mendapatkan kesalahan ini diperbaiki.masukkan deskripsi gambar di sini

Saya tidak tahu apakah solusi ini akan membantu orang lain.

Rinoy Ashokan
sumber
8

Templat situs web kosong membuat situs web ASP.NET yang menyertakan file Web.config tetapi tidak ada file lainnya. Berarti Anda belum memiliki halaman default untuk ditampilkan saat menelusuri atau menjalankan.

Pesan kesalahan ini hanya berarti bahwa Anda tidak mengatur dan mengkonfigurasi dokumen default dengan benar pada IIS Anda.

Setelah ini dikonfigurasi, pesan kesalahan akan hilang.

Sain Pradeep
sumber
Saya memang menambahkan halaman master ke situs web kosong dan ketika saya mengklik jalankan tanpa kode saya masih mendapat kesalahan. Saya tidak yakin apa yang harus saya lakukan untuk menjalankannya?
Aindriu
apakah Anda memiliki halaman default di situs web Anda jika tidak kemudian membuat dan mengatur halaman default seperti yang ditunjukkan dalam tautan ini iis.net/learn/web-hosting/web-server-for-share-hosting/…
Sain Pradeep
Tidak, saya tidak memiliki halaman default di situs web kosong. Saya mengikuti contoh di buku C #. Saya menambahkan halaman default dan halaman akan memuat di browser web ok. Tapi contohnya hanya menggunakan halaman master. Saya tidak mengerti mengapa itu tidak berhasil. Ini contoh yang sangat sederhana.
Aindriu
8

Di situs di IIS:

  1. pilih 'Pengaturan Lanjut'
  2. Kemudian untuk kumpulan aplikasi, pilih "ASP.NET v4.0"

gambar misalnya

Ingin juga
sumber
2
Ini tidak menjawab pertanyaan OP. Mengubah Pool Aplikasi yang digunakan oleh situs di IIS tidak memiliki pengaruh pada bagaimana situs dikonfigurasi untuk daftar isi direktori (atau tidak daftar mereka). Ini ada hubungannya dengan konfigurasi di file web.config.
JNYRanger
8

Control Panel> Mengaktifkan atau menonaktifkan Fitur Windows

Layanan Informasi Internet> Layanan World Wide Web> Fitur Pengembangan Aplikasi

Aktifkan dua opsi

.NET Extensibility 3.5
.ASP.NET 3.5

Di bawah masukkan deskripsi gambar di sini

Hakan Fikst
sumber
5

Untuk kasus saya, saya menerima kesalahan yang sama setelah membuat proyek Web Api kosong.

Saya menyelesaikannya dengan mengedit RouteConfig.cs di folder App_Start :)

Saya mengganti baris pembacaan kode: -

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

dengan yang berikut: -

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

Perhatikan saya hanya perlu menentukan Controller yang tindakan indeksnya ingin saya panggil terlebih dahulu.

Yah semua tanggapan di atas tidak menyelesaikan kasus saya (seperti yang saya inginkan) misalnya

  • Mengaktifkan penjelajahan direktori dari web.config baru saja mencantumkan semua file dan folder di proyek saya seperti yang akan dilakukan php ketika Anda tidak memiliki file indeks
  • Pengaturan defaultDocument juga tidak berfungsi untuk saya, entah bagaimana, masih mendapatkan HTTP Error 403.14 (Masih tidak tahu mengapa)

Jika mungkin ada orang dalam keadaan yang sama dengan saya maka cobalah ini.

rey_coder
sumber
Ini adalah sebagian besar jawaban yang saya butuhkan. Namun nama pengontrol harus sesuai dengan apa yang dibuat untuk aplikasi Pengontrol aplikasi MVC (Jika Anda memanggil pengontrol Anda IndexController maka itu akan bekerja) - jadi nama tindakan default pada pengontrol harus menjadi Indeks dan kemudian semuanya akan diikat bersama - saran menggunakan penelusuran direktori BUKAN merupakan ide yang bagus menurut saya karena memungkinkan siapa saja untuk menavigasi konten situs Anda secara keseluruhan.
Mark W. Mitchell
4

Dalam kasus saya, saya mengalami kesalahan ini karena aplikasi web saya adalah .NET v4, dan kumpulan aplikasi dikonfigurasi untuk .NET v2.

Mengklik dua kali pada kumpulan aplikasi memunculkan jendela popup, di mana kita dapat memilih versi .NET Framework yang diinginkan.

Burung hitam
sumber
4

ASK
Cari "Windows Feature"saat mulai ->
Klik "turn features on and off"->
Perluas "Internet Information Services"dan
Periksa setiap program di setiap subfolder dan
Klik "OK"
Ini akan memperbaiki semua masalah Anda. masukkan deskripsi gambar di sini

Ahmed Adewale
sumber
3

Saya memecahkan masalah saya dengan bera langkah ini =>

  1. Buka IIS Manager
  2. Klik Aplikasi
  3. Klik Penjelajahan Direktori
  4. Klik Buka Fitur (Di sebelah kanan Anda akan melihat di bawah Tindakan)
  5. Klik Aktifkan
Haktan Enes Biçer
sumber
2

Ini bisa disebabkan oleh entri applicationhost.config yang jelek.

Hentikan IIS Express jika sedang berjalan (klik kanan ikon scroll-thingy biru muda di Baki Sistem Windows; Keluar).

Buka Properti proyek Anda> Web, dan periksa apakah Url Proyek sudah benar. Dalam hal url https, pastikan itu menyertakan nomor port dalam rentang yang valid. Sebuah URL yang benar bisa menjadi: https://localhost:44300/. Sekarang tekan tombol "Buat Direktori Virtual" di sebelah URL. Ini menambahkan entri baru ke applicationhost.config.

Mulai proyek lagi dan semoga Anda tidak lagi mendapatkan kesalahan.

Pelindung satu
sumber
2

Saya yakin setelah bertahun-tahun Anda mungkin sudah memiliki jawaban. Tapi kalau-kalau ada orang lain yang mencari jawaban di masa depan.

Untuk masalah saya, saya tidak perlu melakukan apa pun ke web.config. Saya tidak berpikir saya akan perlu karena itu berfungsi sebelumnya.

Pastikan tidak ada folder yang bernama sama dengan halaman Anda, saya punya folder bernama "blog" dan halaman bernama "blog.aspx", ia mencoba memuat folder, saya perhatikan ini di tautan, ubah folder ke blogContent , sekarang sudah dimuat dengan baik.

Saya memposting salinan di sini karena Anda adalah yang pertama dalam permintaan pencarian.

Justin Sinnard
sumber
2

Masalahnya mungkin berasal dari menjalankan proyek dari studio visual di IIS saat berada di tab yang salah dibuka di studio visual, jadi solusinya adalah dengan membuka tab kanan (formulir web yang ingin Anda uji pada browser Anda) atau seperti yang disarankan orang lain di jawaban lain, klik kanan pada formulir web yang ingin Anda tetapkan sebagai beranda lalu klik 'Set As A Start Page'.

Mehdi Fracso
sumber
1

Dalam kasus saya, saya kehilangan Microsoft.Owin.Host.SystemWebnuget.

pootzko
sumber
1

klik kanan pada proyek Anda di explorer solusi dan kemudian klik tambahkan item baru, tambahkan halaman HTML dan beri nama sebagai index.HTML setelah semua jalankan kembali aplikasi Anda

pengguna1324491
sumber
1

Dalam kasus saya

Di Application Pool saya mengatur versi .NetFrameWork ke V4.0 dan memecahkan masalah ....

ashkufaraz
sumber
1

Anda harus menginstal bagian Pengembangan Aplikasi IIS di server Anda seperti yang Anda lihat pada gambar ini:masukkan deskripsi gambar di sini

Amir Parsi
sumber
0

Ini bisa terjadi karena sejumlah alasan. Jika Anda telah mencoba semua hal di atas dan masih mendapatkan kesalahan yang sama, saya punya satu solusi lagi.

Alasan lain ini bisa terjadi adalah itu

  1. Jika Anda memiliki basis kode yang sama berjalan sebelum Anda mulai menjalankan solusi baru, Anda mungkin mengalami kesalahan ini. Alasannya adalah bahwa IIS Express sedang mencoba untuk berjalan pada port yang sama seperti untuk solusi lama yang memiliki jalur fisik terdaftar untuk URL awal aplikasi.
  2. Karena IIS tidak dapat menemukan jalur fisik untuk menjalankan solusi, itu mungkin tidak dapat menemukan semua dll yang diperlukan untuk memulai aplikasi.

Solusi:

  1. Cobalah untuk mengubah port aplikasi ke default. Misalnya., Gunakan http://localhost/sebagai gantihttp://localhost:25836/

  2. Coba ubah ke port lain mana pun jika Anda telah menggunakan port default untuk aplikasi sebelumnya. mis: http://localhost:25364/bukannyahttp://localhost/

Ini akan memungkinkan IIS / IIS Express untuk menunjuk ke jalur bin default aplikasi baru yang Anda coba jalankan yang akan memiliki semua dll yang diperlukan untuk memulai aplikasi.

Krishna
sumber