"Сторінка, яку ви запитуєте, не може бути представлена ​​через конфігурацію розширення." повідомлення про помилку


272

Я отримую це повідомлення про помилку при спробі запуску програми. Я не знаю, як це виправити:

Помилка HTTP 404.3 - не знайдено Сторінку, яку ви запитуєте, не може обслуговуватися через конфігурацію розширення. Якщо сторінка є сценарієм, додайте обробник. Якщо файл слід завантажити, додайте карту MIME.

Ось скріншот сторінки помилок: alt текст

Що я можу зробити, щоб виправити цю помилку?


1
вихідний код буде кориснішим, а не сторінка помилки
gsharp

1
Яку частину вихідного коду вам потрібно було б побачити?

1
Дотримуючись наведеної вище інструкції, тоді також, якщо ви отримаєте таку ж помилку, тоді перейдіть за посиланням нижче та виконайте кроки Натисніть тут
Радж

Відповіді:


170

Використовуйте aspnet_regiis.exe, щоб зареєструвати версію .NET Framework, яку ви використовуєте.

Це поширена проблема і відбувається, коли IIS встановлюється після VS або .NET Framework.

Примітка - для користувачів Windows 8/10 дивіться іншу відповідь JohnOpincar нижче . А також коментар / порада від Кевіна Брайдона.


11
Власне кажучи, я спочатку встановив Visual Studio, а потім IIS. На даний момент я виконую команду "aspnet_regiis.exe -i". Сподіваємось, це виправить помилку.

5
Так само працювали для мене, коли я отримав цю помилку при спробі отримати доступ до послуги .svc WCF.
atconway

Примітка - користувачі Windows 8 бачать іншу відповідь JohnOpincar нижче
KyleK

+1 Для всіх, хто знайде це за допомогою Пошуку, вам може бути легше виконати ремонт у .NET Install, а не намагатися запустити aspnet_regiis.exe як шлях найменшого опору і вирішує проблему. Ми бачимо це багато на скриньках, які встановили .NET 4.5.2 (через оновлення Windows) перед встановленням ролі IIS, це трохи засмучує, оскільки ці поля показуватимуть .NET 4 як опцію в їх пулі додатків, але якщо у вашій програмі потрібна .NET 4.5, як у нас, це не вдасться із вказаним вище повідомленням.
aolszowka

246

У Windows 8/10 ви повинні користуватися

  • Відкрийте панель керування →
  • Програми та функції →
  • Увімкніть або вимкніть функції Windows →
  • Інтернет-інформаційні послуги (IIS) →
  • Всесвітні веб-сервіси →
  • Особливості розробки додатків →
  • Перевірте відповідні елементи, як-от увімкнення ASP.NET. (тобто встановіть відповідну версію, з якою ви хочете налаштувати свої веб-сайти)

Довідка: Перевірте вирішення цього питання для довідок


217
Я повинен був перевірити .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon

13
запустіть цю команду з командного рядка адміністратора: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation / all", або "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Пол Суарт

Тільки коли я звик до запуску регіону, мікрософт переходить і змінює його знову. Ну, принаймні, це набагато простіше - подібна зміна встановлення WIF. Тепер їм слід додати SQL для ввімкнення / вимкнення функцій Windows.
nocarrier

@KevinBrydon - Дуже дякую! Ваша порада була дуже корисною для вирішення проблеми в Windows 2012 R2.
Аміл Вадувавара

У Windows Server 2012 R2 для мене працювала активація Http.
Dhanuka777

117

Я це виправив у своїй Windows 10:

  1. Перейдіть до Панелі управління - Програми та функції - Увімкніть або вимкніть функції Windows.

  2. Виберіть .NET Framework 4.6 Додаткові сервіси - Послуги WCF

  3. Перевірте активацію HTTP.

  4. Добре готово.


5
Для мене працює у Windows 10! Дякую!
Сергій Малютін

1
Також для мене працює виграш 8.1
Qerts

Працював над Win10 iis7
noCodeMonkeys

Це працює після оновлення до Windows 1709 і після перевстановлення IIS
garrettendi

Ідеально підходить для мене. Ідеальне рішення, якщо вам подобається "Ця помилка виникає, коли розширення файлу запитуваної URL-адреси призначено для типу MIME, який не налаштований на сервері"
eranda.del

84

У моєму випадку мені потрібно було додати типи MIME для кожного розширення файлу, яке я хотів служити веб-конфігурації:

<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>

2
1+ він вирішив мою проблему ... я намагався завантажити .jsonі я продовжував отримувати помилку OP, і, нарешті, я в кінцевому підсумку додав mimeMapу свою web.config і вирішив проблему
Нік Кан

Чи потрібно також додати тип MIME для файлу asmx?
Шильпа Соні

Файли @ShilpaSoni asmx - це файли сервера asp.net (не статичний вміст). тому ви не можете і вам не потрібно завантажувати їх з клієнта.
Mahmoodvcs

1
А ось карта розширень файлів в відповідну MIMETYPE, знайдена з цього SO питання
Червоний Горох

21

Якщо це допомагає комусь, я отримував цю помилку при спробі запустити aspnet_regiis.exe:

Помилка роботи з 0x8007000B

Була зроблена спроба завантажити програму з неправильним форматом

Як виявляється, сервер працював у 2008 році 64 біт, і я намагався запустити 32-бітну версію утиліти. Запуск версії, знайденої в \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727, виправлена ​​проблема.

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

7

У мене просто така ж ситуація була зі своїм клієнтом. У нас є власний продукт, який встановлює веб-сайт. Інсталятор налаштовує все: пул IIS, сайт, web.config тощо.

Ми встановили ще один веб-сайт за допомогою нашого інсталятора. Ми ввели однакові параметри, тому web.configs виявився однаковим для обох сайтів.

Однак нещодавно встановлений сайт працював чудово, а старий - ні. Потім я відкрив 2 вікна IIS Manager і почав порівнювати різницю в налаштуваннях веб-сайту. І я знайшов проблему.

Хтось видалив усі відображення обробника зі старого сайту. Якщо ви перейдете до "Зображення обробника", там ви побачите aspx, asmx та інші розширення та назви обробників. Так, на старому сайті всі ці записи були відсутні.

Отже, я б запропонував спочатку перевірити "Мапінг-мапінг" - там має бути багато записів. Створіть новий веб-сайт і порівняйте, щоб знати, скільки їх має бути.

Хто їх видалив, людина чи інша програма, я поняття не маю. Якщо хтось може сказати, чи існує якийсь додаток для відстеження, який би сказав, що домен користувача \ john на дату "07.03.2012 12:34" модифікував веб-сайт, це було б корисно.



6

Я вирішив свою проблему на сервері Windows 2012, встановивши ВСІ функції WCF.

A) Менеджер сервера> Керування [ліворуч угорі ліворуч]> Додати ролі та функції

B) В особливостях> Особливості .Net Framework 4.5> Послуги WCF

C) Перевірте (увімкніть) функції. Я все перевірив.

Г) Встановити


2
Я перевіряв лише активацію HTTP та активацію TCP, і це працювало на мене. В будь-якому випадку, дякую Вам!
Олексій Міалкін

6

Запуск Windows Server 2008 R2 64bit і .net Framework 4.5, запустив цю команду з цього місця і досяг успіху:

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

вихід:

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).

3

Як згадував @Mahmoodvcs, мені потрібно було встановити / додати типи MIME для розширення файлу, який мені потрібен для розміщення / завантаження безпосередньо, у цьому випадку - це дамп-файл Heroku (резервна копія бази даних postgres), щоб встановити загальнодоступний сервер IIS, де Ви можете завантажувати ці файли, не вимагаючи відра AWS S3 або HTTP-акцій, як-от папка. Це надзвичайний варіант!

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


2

До речі, я щойно дізнався цю публікацію: http://blogs.msdn.com/b/webtopics/archive/2010/03/19/iis-7-5-how-to-enable-iis-configuration -auditing.aspx пояснює, як перевірити зміни на IIS. Для тих, хто стикається з подібними проблемами, пропоную ввімкнути аудит і пізніше дізнатись, чому ваш веб-сайт перестав працювати.


2

У мене теж була ця помилка, на Windows Server 2008 IIS 7 у мене не було встановлено візуальної студії, тому переустановка / ремонт .NET 4.0 зробив свою справу.


1

Щоб додати розширення для обслуговування в IIS, виконайте наступні дії -

  1. Відкрийте IIS Manager та перейдіть до рівня, яким ви хочете керувати.
  2. У розділі Перегляд функцій двічі клацніть типи MIME.
  3. На панелі "Дії" натисніть кнопку Додати.
  4. У діалоговому вікні Додати тип MIME введіть розширення імені файлу в текстове поле Розширення імені файлу. ... Наберіть тип MIME
  5. у текстовому полі типу MIME.
  6. Натисніть кнопку ОК.

1
Я перевірив це рішення на випадок .ts (файлів сценаріїв типу), які ви повинні оголосити у полях MIME Type Typescript (.ts) Я використовую text / x.typescript як mime type
freedeveloper


0

Переконайтесь, що пул додатків у IIS (у випадку IIS7 або вище) обраний як інтегрований. У цьому випадку, ймовірно, зміна на Classic може вирішити цю проблему.


0

Що стосується сервера 2016, я повинен додати:

  1. Виконайте цю команду: aspnet_regiis -lvз цього C:\Windows\Microsoft.NET\Framework\v2.0.50727\ режиму : це дає найкращий вигляд того, що відбувається

  2. На сервері 2016 установка .net та iis не є певною проблемою.

  3. Що, швидше за все, буде проблемою на сервері 2016, це просто те, що asp.net не встановлений на машині.


0

Для Windows Server 2016

  1. Відкрита Server Managerформа
  2. Manage -> Add Roles and Features
  3. Далі до Features сторінки
  4. Перевірте WCF Servicesфункцію з усіма піддіаграмами
  5. Next і Install

0

PHP 7.3 Застосування IIS на Windows Server 2012 R2

Для мене це був двоступеневий процес.

1) Увімкніть Послуги WCF - із перезапуском сервера

2) Додайте картографування модуля FASTCGI

1)

Перейдіть до Менеджера серверів> Додати ролі та функції Виберіть сервер із пулу серверів Перейдіть до Функцій> Послуги WCF. Я вибрав усі категорії, які потім встановили

2)

Перейдіть до IIS> обраний сайт. На центральній панелі виберіть Обробник відображення Права панель виберіть Додати модульне відображення

У вікні редагування:

Шлях запиту: * .php

Модуль: FastCgimodule

Виконаний: я переглянув php-cgi.exe всередині своєї папки PHP

Назва: PHP7.3

Тепер, коли я думаю про це. Можливо, існує спосіб додавання цього мапінгу обробника всередині веб-конфігурації, тому якщо ви переміщаєте свій сайт на інший сервер, вам не доведеться додавати це відображення знову і знову.

EDIT: Ось воно. Додайте це до розділу веб-конфігурації.

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


0

Якщо ви намагаєтеся переглянути файл без розширень, то для мене працювало додавання MIME Type: Розширення імені файлу : . Тип MIME :text/plain

Це може мати певні наслідки MVC, особливо, якщо ваш Static File Handlerзнаходиться над Extensionless...обробниками (під IIS/ Handler Mappings), але може бути вирішеним, коли вам це потрібно лише тимчасово, як активація SSL-сертифікатів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.