Ошибка HTTP 403.14 - Запрещено - веб-сервер настроен так, чтобы не отображать содержимое этого каталога


146

Я только что создал новый пустой веб-сайт в Visual Studio 2012 и нажал на кнопку «Выполнить» (т.е. просмотр в браузере), и я получаю эту ошибку:

Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не перечислять содержимое этого каталога.

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

Проект веб-сайта, который я только что создал, не указан на веб-сайтах по умолчанию в IIS Manager, что, на мой взгляд, было странно.

Как мне избавиться от этой ошибки?


Проект настроен на использование IIS? Или IIS Express? Или Казини?
— Крис Вандермоттен,

Вы запускали или просматривали в браузере ? 2 разные вещи. Если это проект MVC, то вы, возможно, пытались просмотреть viewв браузере?
— Кристиандев,

Убедитесь, что вы включили ASP.NET 4.5 или ASP.NET из Панели управления \ Все элементы панели управления \ Программы и компоненты \ Включение или отключение компонентов Windows \ Службы Internet Information Services \ World Wide Web Services \ Функции разработки приложений \ ASP.NET 4.5 или ASP.NET 3.5 в зависимости от настроек пула приложений.
— Бимал Дас

Ответы:


142

сохраните это в своем файле веб-конфигурации, затем переименуйте add value = "yourwebformname.aspx"

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

еще

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

1
Я работал над этим проектом несколько месяцев - никогда не нуждался в этой линии. Я опубликовал сайт сегодня, и он больше не будет работать в режиме отладки !!! Добавленная эта строка заставляет это работать снова! Я проверил SVN - определенно никогда не нуждался в этом раньше. WTF !? В любом случае, спасибо, что потерял только час :)
— Percy

Я получаю HTTP-ошибку 500.22 - Внутренняя ошибка сервера.
— Брайан Лабушанье

40

Эта проблема возникает из-за того, что на веб-сайте не Directory Browsingвключена эта функция, а документ по умолчанию не настроен. Чтобы решить эту проблему, используйте один из следующих методов. Чтобы решить эту проблему, я выполнил шаги, описанные в способе 1, как указано на странице поддержки MS, и рекомендованный метод.

Способ 1. Включите функцию просмотра каталогов в IIS (рекомендуется)

  1. Запустите IIS Manager. Для этого нажмите кнопку Пуск, выберите пункт Выполнить, введите inetmgr.exe и нажмите кнопку ОК.

  2. В диспетчере IIS разверните имя сервера, разверните веб-сайты, а затем щелкните веб-сайт, который вы хотите изменить.

  3. В представлении «Функции» дважды щелкните «Просмотр каталога».

  4. На панели «Действия» нажмите «Включить».

Если это не сработает, возможно, у вас возникла другая проблема, чем просто проблема со списком каталогов. Так что следуйте ниже шаг,

Способ 2: добавить документ по умолчанию

Чтобы решить эту проблему, выполните следующие действия.

  • Запустите IIS Manager. Для этого нажмите кнопку Пуск, выберите пункт Выполнить, введите inetmgr.exe и нажмите кнопку ОК.
  • В диспетчере IIS разверните имя сервера, разверните веб-сайты, а затем щелкните веб-сайт, который вы хотите изменить.
  • В представлении «Функции» дважды щелкните «Документ по умолчанию».
  • На панели «Действия» нажмите «Включить».
  • В поле Имя файла введите имя документа по умолчанию и нажмите кнопку ОК.

Способ 3: включить функцию просмотра каталогов в IIS Express

Примечание. Этот метод предназначен для веб-разработчиков, которые сталкиваются с проблемой при использовании IIS Express.

Следуй этим шагам:

  • Откройте командную строку и перейдите в папку IIS Express на вашем компьютере. Например, перейдите в следующую папку в командной строке: C:\Program Files\IIS Express

  • Введите следующую команду и нажмите клавишу ВВОД:

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


Это должен быть принят ответ. Метод 2 работал для меня. Сначала я создал пустой веб-сайт, а затем добавил веб-форму с именем «WebForm1.aspx». Следовательно, мне нужно добавить это имя в список документов по умолчанию. Спасибо.
— Новато

31

Перейдите в cmd и введите это:

для ОС x64:% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

для ОС x32:% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

Это установит правильную версию, и IIS поймет, просмотр каталога MVC


% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir это сработало для меня для моей 64-битной системы и приложения MVC
— Amar Gadekar

Команда для x64 также
— Cavid

24

Причин может быть несколько. Тот, который работал для меня на IIS 8.5, был следующим

меры

  1. Введите «включить или отключить функции Windows» в поиске.
  2. Нажмите «Добавить роли и функции» в диспетчере сервера.
  3. В мастере прокрутите вниз до веб-сервера и выберите: Веб-сервер -> Разработка приложений. Выберите все, кроме CGI из списка, как показано на снимке экрана

введите описание изображения здесь

  1. Наконец нажмите «Далее» и установите.
  2. Перезагрузите IIS

Ваш сайт может начать работать.


18

Установите стартовую страницу.

Когда у меня возникла эта проблема, я вошел в обозреватель решений, сначала нашел страницу, которую хотел увидеть (в моем случае «Home.aspx), щелкнул правой кнопкой мыши по ней и выбрал« Сделать стартовой страницей ». Это устранило мою проблему (которая звучит очень похоже на ваш). Это было в Visual Studio 2012 Professional, и я запустил его в Firefox.


17

Попробуйте добавить следующие настройки в web.configфайл.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

2
Ошибка HTTP 500.22 - внутренняя ошибка сервера
— Bryan Labuschagne,

Моя проблема решена, после добавления этого кода в файл webconfig, спасибо.
— Ядавр

17

Я просто вставил этот фрагмент кода в файл web.config, и ошибка была устранена.

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

10

У меня есть одно быстрое средство от этого. На самом деле я получил эту ошибку, потому что я не установил свою веб-страницу в качестве начальной страницы. Когда я сделал мою веб-страницу (html / aspx) как заданную стартовую страницу, как показано ниже, я исправил эту ошибку.введите описание изображения здесь

Я не знаю, поможет ли это решение другим.


8

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

Это сообщение об ошибке просто означает, что вы не настроили и не сконфигурировали документ по умолчанию в своей IIS.

Как только это настроено, сообщение об ошибке исчезнет.


Я добавил главную страницу на пустой веб-сайт, и когда я нажал «Выполнить без кода», я все еще получил ошибку. Я не уверен, что мне нужно сделать, чтобы запустить его?
— Aindriu

у вас есть страница по умолчанию на вашем сайте, если нет, то создайте и установите страницу по умолчанию, как показано в этой ссылке iis.net/learn/web-hosting/web-server-for-shared-hosting/…
— Sain Pradeep

Нет, у меня не было страницы по умолчанию на пустом сайте. Я следую примеру в книге C #. Я добавил страницу по умолчанию, и она нормально загружалась в веб-браузере. Но в примере использовались только главные страницы. Я не понимаю, почему это не работает. Это очень простой пример.
— Aindriu

8

На сайте в IIS:

  1. выберите «Дополнительные настройки»
  2. Затем для пула приложений выберите «ASP.NET v4.0»

изображение например


2
Это не отвечает на вопрос ОП. Изменение пула приложений, используемого сайтом в IIS, не влияет на настройку сайта для отображения содержимого каталога (или его отсутствия). Это связано с конфигурацией в файле web.config.
— JNYRanger

8

Панель управления> Включение или отключение функций Windows

Информационные службы Интернета> Службы всемирной паутины> Функции разработки приложений

Включить две опции

.NET Extensibility 3.5
.ASP.NET 3.5

Под введите описание изображения здесь



5

В моем случае я получил ту же ошибку после создания пустого проекта Web Api.

Я решил это, отредактировав RouteConfig.cs в папке App_Start :)

Я заменил строку чтения кода: -

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

со следующим: -

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

Обратите внимание, что мне просто нужно было указать контроллер, действие индекса которого я хотел бы сначала вызвать.

Ну, все приведенные выше ответы не решили мой случай (как я хотел), например

  • Включение просмотра каталогов из web.config только что перечислило все файлы и папки в моем проекте так же, как и php, если у вас нет индексного файла
  • Установка defaultDocument также не работает для меня, так или иначе все еще получил ошибку HTTP 403.14 (до сих пор не знаю, почему)

Если кто-то может быть в подобных обстоятельствах, как у меня, то попробуйте.


Это был большой ответ, который мне был нужен. Однако имя контроллера должно совпадать с тем, что было создано для имени контроллера приложения MVC (если вы вызываете свой контроллер IndexController, тогда оно будет работать), поэтому имя действия по умолчанию на контроллере должно быть Index, а затем все это будет связано - предложения использование просмотра каталогов НЕ является хорошей идеей, на мой взгляд, так как позволяет любому полностью перемещаться по содержимому вашего сайта.
— Марк У. Митчелл

4

Я получил эту ошибку, и изменение режима управляемого трубопровода пула приложений на «Интегрированный» решает проблему.

Источник: Запуск приложения .NET 4.6 MVC на IIS 8.5 (Windows Server 2012).


Этот пост на самом деле не отвечает на этот вопрос, так как это нечто наоборот.
— rickvdbosch

4

В моем случае я столкнулся с этой ошибкой, потому что мое веб-приложение было .NET v4, а пул приложений был настроен для .NET v2.

Двойной щелчок по пулу приложений вызывает всплывающее окно, где мы можем выбрать нужную версию .NET Framework.


4

РЕШЕНО
Поиск "Windows Feature"при запуске ->
Нажмите "turn features on and off"->
Разверните "Internet Information Services"и
проверьте все программы в каждой подпапке и
нажмите «ОК».
Это решит все ваши проблемы. введите описание изображения здесь


3

Я решил мою проблему с паром это шаги =>

  1. Открыть IIS Manager
  2. Нажмите на приложение
  3. Нажмите Просмотр каталога
  4. Нажмите Открыть функцию (справа вы увидите под Действия)
  5. Нажмите Включить

2

Это может быть вызвано записью bum applicationhost.config.

Остановите IIS Express, если он запущен (щелкните правой кнопкой мыши на голубом значке прокрутки в системном трее Windows; выход).

Перейдите в Свойства вашего проекта> Веб и проверьте правильность URL проекта. В случае URL-адреса https убедитесь, что он содержит номер порта в допустимом диапазоне. Правильный URL может быть: https://localhost:44300/. Теперь нажмите кнопку «Создать виртуальный каталог» рядом с URL. Это добавляет новую запись в applicationhost.config.

Запустите проект снова и, надеюсь, вы больше не получите ошибку.


2

Я уверен, что спустя годы у вас, вероятно, уже есть ответ. Но в случае, если кто-то еще ищет ответ в будущем.

Для моей проблемы мне не нужно было ничего делать с web.config. Я не думал, что мне это понадобится, поскольку это работало ранее.

Убедитесь, что ни одна папка не называется так же, как ваша страница, у меня была папка с именем blog и страница с именем blog.aspx, она пыталась загрузить папку, я заметила это в ссылке, изменила папку на blogContent Теперь он загружается нормально.

Я публикую здесь копию, так как вы первый в поисковом запросе.


2

Проблема может быть связана с запуском проекта из Visual Studio в IIS, когда он находится на неправильной открытой вкладке в Visual Studio, поэтому решение заключается в открытии правой вкладки (веб-формы, которую вы хотите протестировать в браузере) или в соответствии с рекомендациями, приведенными в другие ответы, щелкните правой кнопкой мыши веб-форму, которую вы хотите установить в качестве домашней страницы, затем нажмите «Сделать стартовой страницей».



1

щелкните правой кнопкой мыши свой проект в обозревателе решений, а затем нажмите кнопку Добавить новый элемент, добавьте страницу HTML и назовите ее как index.HTML после того, как все перезапустите приложение


1

В моем случае

В Application Pool я установил версию .NetFrameWork на V4.0 и решил проблему ....


1

Вам следует установить часть разработки IIS на вашем сервере, как вы можете видеть на следующем рисунке:введите описание изображения здесь


0

Это может произойти по ряду причин. Если вы пробовали все вышеперечисленное и по-прежнему получаете ту же ошибку, у меня есть еще одно решение.

Другая причина, по которой это может произойти, заключается в том, что

  1. Если у вас есть та же база кода, которая была запущена до запуска свежего решения, вы можете столкнуться с этой ошибкой. Причина в том, что IIS Express пытается работать на том же порту, что и для старого решения, для которого зарегистрирован физический путь для начального URL-адреса приложения.
  2. Поскольку IIS не может определить физический путь для запуска решения, он может не найти все библиотеки, необходимые для запуска приложения.

Решения:

  1. Попробуйте изменить порт приложения по умолчанию. Например. Используйте http://localhost/вместоhttp://localhost:25836/

  2. Попробуйте перейти на любой другой порт, если вы уже использовали порт по умолчанию для предыдущего приложения. пример: http://localhost:25364/вместоhttp://localhost/

Это позволит IIS / IIS Express указывать путь к корзине по умолчанию для нового приложения, которое вы пытаетесь запустить, и которое будет иметь все необходимые библиотеки для запуска приложения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.