"Halaman yang Anda minta tidak dapat dilayani karena konfigurasi ekstensi." pesan eror

272

Saya menerima pesan kesalahan ini ketika mencoba menjalankan aplikasi saya. Saya tidak tahu cara memperbaikinya:

Kesalahan HTTP 404.3 - Tidak Ditemukan Halaman yang Anda minta tidak dapat dilayani karena konfigurasi ekstensi. Jika halaman tersebut adalah skrip, tambahkan penangan. Jika file tersebut harus diunduh, tambahkan peta MIME.

Berikut screenshot dari halaman kesalahan: teks alternatif

Apa yang bisa saya lakukan untuk memperbaiki kesalahan ini?

Eric Leschinski
sumber
1
kode sumber akan lebih membantu daripada halaman kesalahan
gsharp
1
Bagian mana dari kode sumber yang perlu Anda lihat?
1
Setelah mengikuti instruksi di atas kemudian juga jika Anda mendapatkan kesalahan yang sama kemudian pergi melalui dengan link di bawah ini dan ikuti langkah-langkah Klik Disini
Raj

Jawaban:

170

Gunakan aspnet_regiis.exe untuk mendaftarkan versi .NET framework yang Anda gunakan.

Ini adalah masalah umum dan terjadi ketika IIS diinstal setelah VS atau .NET framework.

Catatan - untuk pengguna Windows 8/10, lihat jawaban lain oleh JohnOpincar di bawah ini . Dan juga komentar / tip dari Kevin Brydon.

Aliostad
sumber
11
Sebenarnya saya menginstal Visual Studio terlebih dahulu dan kemudian IIS. Saya sedang menjalankan perintah "aspnet_regiis.exe -i". Semoga ini memperbaiki kesalahan.
5
Bekerja untuk saya juga ketika saya mendapatkan kesalahan ini ketika mencoba mengakses layanan WCF .svc.
atconway
Catatan - untuk pengguna Windows 8 lihat jawaban lain oleh JohnOpincar di bawah ini
KyleK
+1 Bagi siapa pun yang menemukan ini melalui Penelusuran, Anda mungkin merasa lebih mudah untuk melakukan Perbaikan pada .NET Install alih-alih mencoba menjalankan aspnet_regiis.exe sebagai jalur yang paling tidak resistan dan menyelesaikan masalah. Kami melihat ini banyak pada kotak yang telah menginstal .NET 4.5.2 (melalui Pembaruan Windows) sebelum menginstal Peran IIS, ini agak membuat frustrasi karena kotak-kotak ini akan menampilkan .NET 4 sebagai opsi di kumpulan aplikasi mereka, tetapi jika aplikasi Anda memerlukan .NET 4.5 seperti kita apakah itu akan gagal dengan pesan di atas.
aolszowka
246

Di Windows 8/10, Anda harus menggunakan

  • Buka Control Panel →
  • Program dan Fitur →
  • Mengaktifkan atau menonaktifkan fitur Windows →
  • Layanan Informasi Internet (IIS) →
  • Layanan World Wide Web →
  • Fitur Pengembangan Aplikasi →
  • Periksa item yang sesuai, seperti mengaktifkan ASP.NET. (mis. instal versi yang sesuai dengan yang Anda ingin konfigurasi dengan situs web Anda)

Referensi: Periksa solusi dari pertanyaan ini untuk referensi

JohnOpincar
sumber
217
Aku harus memeriksa .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon
13
jalankan perintah ini dari prompt perintah administrator: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation / all", atau "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Paul Suart
Tepat ketika saya terbiasa menjalankan regiis, microsoft berjalan dan mengubahnya kembali. Yah setidaknya ini jauh lebih mudah - perubahan serupa untuk menginstal WIF. Sekarang mereka harus menambahkan SQL untuk Menghidupkan / Mematikan Fitur Windows.
nocarrier
@KevinBrydon - Terima kasih banyak! Kiat Anda sangat membantu untuk menyelesaikan masalah pada Windows 2012 R2.
Amil Waduwawara
Di Windows server 2012 R2, mengaktifkan "Aktivasi Http" bekerja untuk saya.
Dhanuka777
117

Saya memperbaikinya di Windows 10 saya:

  1. Pergi ke Control Panel - Program dan Fitur - Mengaktifkan atau menonaktifkan fitur Windows.

  2. Pilih .NET Framework 4.6 Layanan Lanjutan - Layanan WCF

  3. Periksa Aktivasi HTTP.

  4. OK selesai.

Quan Nguyen
sumber
5
Bekerja untuk saya di Windows 10! Terima kasih!
Sergey Malyutin
1
Bekerja untuk saya pada win 8.1 juga
Peringatan
Bekerja pada Win10 iis7
noCodeMonkeys
Ini berfungsi setelah memutakhirkan ke Windows 1709 dan harus menginstal ulang IIS saya
garrettendi
Bekerja dengan sempurna untuk saya. Solusi ideal jika Anda mendapatkan seperti "Kesalahan ini terjadi ketika ekstensi file dari URL yang diminta adalah untuk tipe MIME yang tidak dikonfigurasi di server"
eranda.del
84

Dalam kasus saya, saya perlu menambahkan tipe MIME untuk setiap ekstensi file yang ingin saya sajikan ke konfigurasi web:

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>
Mahmoodvcs
sumber
2
1+ itu memperbaiki masalah saya ... saya mencoba memuatnya .jsondan saya terus mendapatkan kesalahan OP dan akhirnya saya akhirnya menambahkannya mimeMapdi web.config saya dan menyelesaikan masalahnya
Nick Kahn
Apakah saya perlu menambahkan tipe MIME untuk file asmx juga?
Shilpa Soni
@ShilpaSoni file asmx adalah file server asp.net (bukan konten statis). jadi Anda tidak bisa dan Anda tidak perlu mengunduhnya dari klien.
Mahmoodvcs
1
Dan inilah peta ekstensi file ke mimeType yang sesuai, yang ditemukan dari pertanyaan SO ini
The Red Pea
21

Dalam hal ini membantu siapa pun, saya mendapatkan kesalahan ini ketika mencoba menjalankan aspnet_regiis.exe:

Operasi gagal dengan 0x8007000B

Upaya telah dilakukan untuk memuat program dengan format yang salah

Ternyata, server menjalankan 2008 64 bit dan saya mencoba untuk menjalankan versi 32 bit dari utilitas. Menjalankan versi yang ditemukan di \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 memperbaiki masalah.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i
Daniel
sumber
7

Saya baru saja mengalami situasi yang sama dengan pelanggan saya. Kami memiliki produk kami sendiri yang memasang situs web. Pemasang mengonfigurasi semuanya: kumpulan IIS, situs, web.config, dll.

Kami memasang situs web lain menggunakan penginstal kami. Kami memasukkan parameter yang sama, jadi web.configs kebetulan sama di kedua situs.

Namun, situs yang baru diinstal berfungsi dengan baik, sedangkan yang lama tidak. Kemudian saya membuka 2 jendela IIS Manager dan mulai membandingkan perbedaan dalam pengaturan situs web. Dan saya menemukan masalah.

Seseorang menghapus semua Pemetaan Handler dengan situs lama. Jika Anda pergi ke "Pemetaan Handler", Anda akan melihat di sana aspx, asmx dan ekstensi lainnya serta nama-nama dari handler. Jadi, di situs lama semua catatan itu hilang.

Jadi, saya akan menyarankan dulu untuk memeriksa "pemetaan Handler" - harus ada banyak catatan di sana. Buat situs web baru dan bandingkan untuk mengetahui berapa banyak yang harus ada.

Siapa yang menghapusnya, seseorang atau program lain, saya tidak tahu. Jika seseorang dapat mengetahui apakah ada beberapa aplikasi pelacakan yang akan memberi tahu bahwa pengguna domain \ john sedang memodifikasi situs web pada tanggal "07.03.2012 12:34" itu akan berguna.

Ihor B.
sumber
Mungkinkah itu pembaruan keamanan Microsoft ?
Roman Starkov
6

Saya memperbaiki masalah saya di server Windows 2012 dengan Menginstal SEMUA Fitur WCF.

A) Server Manager> Kelola [tautan kiri atas]> Tambahkan Peran dan Fitur

B) Dalam Fitur> .Net Framework 4.5 Fitur> Layanan WCF

C) Periksa (aktifkan) fitur-fiturnya. Saya memeriksa semua.

D) Pasang

Demodave
sumber
2
Saya hanya memeriksa Aktivasi HTTP dan Aktivasi TCP dan itu berhasil untuk saya. Bagaimanapun, terima kasih!
Aleksei Mialkin
6

Menjalankan Windows Server 2008 R2 64bit dan .net framework 4.5, menjalankan perintah ini dari lokasi ini, dan berhasil:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

keluaran:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).
Jason Hitchings
sumber
3

Seperti yang disebutkan oleh @Mahmoodvcs, saya perlu mengatur / menambahkan tipe MIME untuk ekstensi file yang saya perlukan untuk meng-host / mengunduh secara langsung, dalam hal ini adalah file dump Heroku (cadangan basis data postgres), jadi untuk mengatur server IIS publik di mana Anda dapat mengunduh file ini tanpa memerlukan AWS S3 bucket atau HTTP share seperti dropbox ini adalah opsi yang hebat!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>

d1jhoni1b
sumber
2

Saya juga memiliki kesalahan ini, pada Windows Server 2008 IIS 7, saya tidak punya visual studio diinstal sehingga menginstal ulang / perbaikan. NET 4.0 melakukan trik.

Leigh
sumber
1

Untuk menambahkan ekstensi untuk ditayangkan di IIS, ikuti -

  1. Buka IIS Manager dan arahkan ke level yang ingin Anda kelola.
  2. Di Tampilan Fitur, klik dua kali Jenis MIME.
  3. Di panel tindakan, klik Tambahkan.
  4. Dalam kotak dialog Tambahkan Tipe MIME, ketik ekstensi nama file di kotak teks ekstensi Nama file. ... Ketikkan tipe MIME
  5. di kotak teks jenis MIME.
  6. Klik OK.
Shahadat Hossain Khan
sumber
1
Saya menguji solusi ini dalam kasus .ts (Type Script Files), Anda harus mendeklarasikan dalam bidang mengetik naskah tipe MIME (.ts) Saya menggunakan teks / x.typescript sebagai tipe mime
freedeveloper
0

Verifikasi bahwa kumpulan aplikasi dalam IIS (dalam kasus IIS7 atau lebih tinggi) dipilih sebagai terintegrasi. Dalam hal ini, mungkin perubahan ke Classic dapat menyelesaikan masalah ini.

pengguna1006743
sumber
0

Terkait dengan Server 2016, saya harus menambahkan:

  1. Jalankan perintah ini: aspnet_regiis -lvdari dir ini: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Ini memberi Anda pandangan terbaik tentang apa yang sedang terjadi

  2. Pada Server 2016, menginstal .net dan iis tidak berurutan tampaknya tidak menjadi masalah.

  3. Apa yang lebih mungkin menjadi masalah pada Server 2016 hanyalah bahwa asp.net tidak diinstal pada mesin.

Jonesome Reinstate Monica
sumber
0

Untuk Windows Server 2016

  1. Server ManagerFormulir terbuka
  2. Manage -> Add Roles and Features
  3. Selanjutnya sampai Featureshalaman
  4. Periksa WCF Servicesfitur dengan semua subfitur
  5. Next dan Install
Serkan Arslan
sumber
0

PHP 7.3 Aplikasi IIS pada Windows Server 2012 R2

Ini adalah proses dua langkah bagi saya.

1) Aktifkan Layanan WCF - dengan restart server

2) Tambahkan Pemetaan Modul FASTCGI

1)

Buka Server Manager> Tambahkan peran dan fitur Pilih server Anda dari kumpulan server. Buka Fitur> Layanan WCF. Saya memilih semua kategori kemudian menginstal

2)

Pergi ke IIS> memilih situs Di panel tengah pilih Pemetaan Handler Panel kanan pilih Pilih Pemetaan Modul

Di dalam jendela edit:

Jalur permintaan: * .php

Modul: FastCgimodule

Executable: Saya melihat-lihat php-cgi.exe di dalam folder PHP saya

Nama: PHP7.3

Sekarang saya memikirkannya. Mungkin ada cara untuk menambahkan pemetaan handler ini di dalam web-config jadi jika Anda memigrasikan situs Anda ke server lain, Anda tidak perlu menambahkan pemetaan ini berulang kali.

EDIT: Ini dia. Tambahkan ini ke bagian konfigurasi web.

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />
Cepat
sumber
0

Jika Anda mencoba melihat file tanpa ekstensi yang berfungsi untuk saya adalah menambahkan MIME Type: Ekstensi nama file : . tipe MIME :text/plain

Ini mungkin memiliki beberapa implikasi MVC, terutama jika Anda Static File Handlerberada di atas Extensionless...penangan (di bawah IIS/ Handler Mappings) tetapi mungkin merupakan penyelesaian ketika Anda hanya membutuhkan ini sementara, seperti mengaktifkan SSL Certs.

Serj Sagan
sumber