IIS7: Возможные причины ошибки "Неизвестный путь конфигурации"

После настройки веб-сайта ASP.NET в IIS7 я получаю внутреннюю ошибку сервера (500.19), в которой говорится:
"Неизвестный путь конфигурации".

Каковы возможные причины этой ошибки?

(Настройка других веб-сайтов ASP.NET работает нормально, но для конкретного веб-сайта это не работает, и я не могу понять разницу.)


Подробное описание ошибки:

Краткое описание ошибки:
Ошибка HTTP 500.19 - Внутренняя ошибка сервера
Запрошенная страница недоступна, поскольку связанные с ней данные конфигурации для страницы недействительны. Подробная информация об ошибке:
Модуль: IIS Web Core
Уведомление: BeginRequest
Обработчик: еще не определено
Код ошибки: 0x80070002
Ошибка конфигурации: непризнанный путь конфигурации "MACHINE/WEBROOT/APPHOST/..."
Файл конфигурации:
Запрошенный URL: http://...:80/
Физический путь:
Метод входа: еще не определено
Пользователь входа: еще не определено
Config Source:
-1:
0:

Ответ 1

Я выяснил, что это зависит от длины имени веб-сайта. Сокращение названия сократило его работу (что сделало его более длинным, и он сработал).

Ответ 2

Я обнаружил, что получил эту же ошибку после внесения нескольких изменений в конфигурацию сайта моего файла applicationhost.config. После более пристального изучения и сравнения некоторых сайтов, которые работали корректно с другими сайтами, которые работали неправильно, я заметил, что я, по-видимому, ударил конфигурацию родительского приложения для нескольких моих сайтов.

Вот пример конфигурации сайта, когда я получал ошибку "Нераспознанная конфигурация": ошибка 500.19:

<site name="Peanuts-Site" id="2345">
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:80:localhost" />
    </bindings>
</site>

И вот как это выглядело после того, как я восстановил удаленное родительское приложение:

<site name="Peanuts-Site" id="2345">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\firstname.lastname\Documents\My Web Sites\Peanuts-Site" />
    </application>
    <application path="/peanuts" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\websites\Peanuts" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:80:localhost" />
    </bindings>
</site>

Неизвестно, что в то время IIS Express, по-видимому, требует определения приложения, которое сопоставляется с корнем сайта при указании любого приложения, не привязанного к корню сайта. И, с другой стороны, это требование действительно имеет смысл в конце концов.

Извлеченный урок - не переусердствуйте, пока не узнаете, что делаете. Я просто рад, что я вспомнил, что сделал, чтобы потом исправить.

Ответ 3

У меня была такая ошибка при использовании IISExpres 7.5 в качестве веб-сервера разработки:

Ошибка HTTP 500.19 - Внутренняя ошибка сервера Запрошенная страница недоступна, так как соответствующие данные конфигурации для страницы недействительны.

Подробная информация об ошибке:

Модуль: IIS Web Core

Уведомление: Неизвестно

Обработчик: еще не определено

Код ошибки: 0x80070002

Ошибка конфигурации: непризнанный путь конфигурации "MACHINE/WEBROOT/APPHOST/....."

Шаги для исправления:

  • открыть "% userprofile%\Мои документы \IISExpress\config\applicationhost.config."
  • удалите все узлы system.applicationHost/sites/site и сохраните файл.
  • перейдите на страницу свойств веб-проекта (в VS2010), затем веб-серверы.
  • проверить "использовать IIS Express"
  • установить URL-адрес проекта: (например, http://localhost:54230/my-web-site)
  • нажмите "Создать виртуальный каталог"

теперь он должен работать снова.

Основная причина для меня заключалась в том, что я попытался удалить родительское приложение URL-адреса проекта. Сначала он был настроен как http://localhost:54230/, а затем я изменил его на http://localhost:54230/my-web-site

Введенные ошибки конфигурации несколько похожи на эти

Удаление родительского приложения разбило цепочку путь конфигурации.

Ответ 4

Я получил ту же ошибку, но затем мне удалось заставить сайт работать, полностью удалив его из IIS и добавив его снова с другим именем.

Но я до сих пор не знаю, что было на заднем плане.

Ответ 5


Я использовал IIS Express и получил ту же ошибку.
Что я сделал, я перемещаю файл applicationhost.config из Documents\IISExpress\config в другое место, а затем запускаю iisexpress из командной строки.
Это сработало для меня.

Ответ 6

Это произошло с нами после того, как мы клонировали голый репозиторий GIT (расположенный в папке на нашем сервере) на вновь сконфигурированной машине.

Мы пробовали шаги, сделанные @RemcoSchoeman, без успеха. Когда мы удалили папку .vs из корневой папки проекта, она снова начала работать.