Ответ 1
Я выяснил, что это зависит от длины имени веб-сайта. Сокращение названия сократило его работу (что сделало его более длинным, и он сработал).
После настройки веб-сайта 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:
Я выяснил, что это зависит от длины имени веб-сайта. Сокращение названия сократило его работу (что сделало его более длинным, и он сработал).
Я обнаружил, что получил эту же ошибку после внесения нескольких изменений в конфигурацию сайта моего файла 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, по-видимому, требует определения приложения, которое сопоставляется с корнем сайта при указании любого приложения, не привязанного к корню сайта. И, с другой стороны, это требование действительно имеет смысл в конце концов.
Извлеченный урок - не переусердствуйте, пока не узнаете, что делаете. Я просто рад, что я вспомнил, что сделал, чтобы потом исправить.
У меня была такая ошибка при использовании IISExpres 7.5 в качестве веб-сервера разработки:
Ошибка HTTP 500.19 - Внутренняя ошибка сервера Запрошенная страница недоступна, так как соответствующие данные конфигурации для страницы недействительны.
Подробная информация об ошибке:
Модуль: IIS Web Core
Уведомление: Неизвестно
Обработчик: еще не определено
Код ошибки: 0x80070002
Ошибка конфигурации: непризнанный путь конфигурации "MACHINE/WEBROOT/APPHOST/....."
Шаги для исправления:
http://localhost:54230/my-web-site
)теперь он должен работать снова.
Основная причина для меня заключалась в том, что я попытался удалить родительское приложение URL-адреса проекта.
Сначала он был настроен как http://localhost:54230/
, а затем я изменил его на http://localhost:54230/my-web-site
Введенные ошибки конфигурации несколько похожи на эти
Удаление родительского приложения разбило цепочку путь конфигурации.
Я получил ту же ошибку, но затем мне удалось заставить сайт работать, полностью удалив его из IIS и добавив его снова с другим именем.
Но я до сих пор не знаю, что было на заднем плане.
Я использовал IIS Express и получил ту же ошибку.
Что я сделал, я перемещаю файл applicationhost.config из Documents\IISExpress\config в другое место, а затем запускаю iisexpress из командной строки.
Это сработало для меня.
Это произошло с нами после того, как мы клонировали голый репозиторий GIT (расположенный в папке на нашем сервере) на вновь сконфигурированной машине.
Мы пробовали шаги, сделанные @RemcoSchoeman, без успеха. Когда мы удалили папку .vs
из корневой папки проекта, она снова начала работать.