Подтвердить что ты не робот

Ошибка HTTP 403.14 - Запрещенная ошибка IIS для приложения ASP.Net MVC 4

мы разработали приложение asp.net mvc 4. в vs 2012 эта работа прекрасна. мы публикуем это веб-приложение и помещаем его в iis 7.5, но когда мы хотим просматривать веб-приложение через iis, это сообщение об ошибке было показано:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

мы думаем, что эта ошибка может быть из этого веб-приложения, но мы создаем еще одно приложение asp.net mvc 4 (без каких-либо изменений и с интернет-шаблоном) и помещаем его в iis, и снова появляется верхняя ошибка.

мы ищем в Интернете и видим больше поэтов, что эта проблема была для них. например, в этом: 403 - Запрещено на базовом развертывании MVC 3 на iis7.5, чтобы представить эту проблему для решения этой проблемы и предположить, что эта проблема была решена для их poeple, но это решение не работает для меня. другие ссылки, которые мы говорим, включают: это https://stackoverflow.com/info/6885509/http-error-403-14-forbidden и это: http://yassershaikh.com/http-error-403-14-forbidden-the-web-server-is-configured-to-not-list-the-contents-of-this-directory/, но эти решения не работают для меня

любая идея для решения этой проблемы?

4b9b3361

Ответ 1

обновление для IIS решает мою проблему, которую можно скачать по ссылке ниже: http://support.microsoft.com/kb/980368

Ответ 2

У меня была такая же проблема на совершенно новой машине, после установки IIS 7.5, Visual Studio и т.д. Я закончил тем, что обновил регистрацию ASP.NET, и это сработало.

C:\windows\Microsoft.NET\Framework64\v4.0.30319 > .\aspnet_regiis.exe -ir C:\windows\Microsoft.NET\Framework64\v4.0.30319 > iisreset

НТН

Ответ 3

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

C:\windows\Microsoft.NET\Framework\v4.0.30319 > aspnet_regiis.exe -i C:\windows\Microsoft.NET\Framework64\v4.0.30319 > aspnet_regiis.exe -i

Если вы все еще получаете сообщение об ошибке


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


Тогда, вероятно, вам потребуется обновление для IIS, которое используется, когда URL-адреса не заканчиваются с периодом

Пожалуйста, перейдите по следующей ссылке для обновления http://support.microsoft.com/kb/980368

Доступно обновление, позволяющее определенным обработчикам IIS 7.0 или IIS 7.5 обрабатывать запросы, чьи URL-адреса не заканчиваются на период

Ответ 4

Это произошло со мной, потому что я ошибочно выполнил несвязанный поиск и заменил, который переименовал параметр id (3-я строка) в Global.asax.cs:

            routes.MapRoute(
               "Default", // Route name
               "{controller}/{action}/{id}", // URL with parameters
               new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults

... другому имени. Я сразу начал получать 403.14 локально и удаленно. Сменив его на "id", он зафиксировал его.

Ответ 5

Открыть расширенную командную строку в Windows (запустить командную строку как администратор).

И запустите команду aspnet_regiis -i в местоположении .Net Framework и .Net Framework64. Как и ниже, здесь параметр i означает установку ASP.NET версии 4. Первая команда предназначена для 32 бит, а вторая предназначена для установки 64-разрядной версии.

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

ScreenshotCommandPrompt

Команды используются для регистрации приложений ASP.NET с сервером IIS.

Ответ 6

Возможно... Если вам придётся использовать мастер публикации (как и я) и установите флажок "Прекомпилировать во время публикации" (как и я) и увидим те же симптомы...

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

Надеюсь, это исправит некоторых людей.

Ответ 7

Похоже, что приложение настроено неправильно. Убедитесь, что ваш web.config развернут вместе со всеми вашими файлами приложений и что пул приложений настроен правильно.

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

Ответ 8

Я бы прокомментировал ответ @Seth, если бы у меня было 50 представителей. Это не просто проблема поиска и замены. Существует Refactor → Переименуйте ошибку в Visual Studio 2012, которая неправильно переименовала "id" внутри литерального строкового значения параметра url в моем RouteConfig.cs. Конечно, он решил, что "не исправит", поэтому будьте предупреждены.

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

был изменен на

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{replaced_text}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

Ответ 9

В моем случае проблема была связана с настройкой Physical Path.

Это указывало на C:\Inetpub\Wwwroot\MySite

но импортированный сайт C:\inetpub\wwwroot\MySite\Веб-сайт по умолчанию \MySite

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

Ответ 10

Произошла такая же ошибка (403.14) после копирования рабочей ConnectionString из моего web.config в новом проекте, чтобы заменить ConnectionString на старый проект, после чего начал выполнять тестирование на localdb и получил ошибку. Примечание. Я скопировал из нового web.config в старый файл web.config только строку connectionString строки подключения и не вносил никаких изменений в имя или имя поставщика в старом проекте. После нескольких исследований, проведенных в течение нескольких часов, он, наконец, попал в один из подключенных sqldatasources по старому проекту (на вкладке дизайна в VS 2012) и повторно настроил sqldatasource (щелкнул "настроить источник данных" ), а в первом раскрывающемся списке выбрано имя, связанное с именем с одним из недавно скопированных ConnectionStrings. Это все, что нужно для начала работы, и после перенастройки ConnectionString он начал работать. Подозреваю, что, когда я скопировал ConnectionString из нового проекта в старый проект, таблица по умолчанию, указанная в процессе присваивания sqldatasource, могла быть потеряна?

Ответ 11

Вам нужно изменить пул приложений для сайта:

  • Перейдите на панель "Действия".
  • Затем выберите "Основные настройки"
  • В "Пуле приложений" выберите "Выбрать..."
  • Наконец ASP.NET v4.0

Ответ 12

У меня была такая же ошибка, но ни один из вышеперечисленных решений не работал у меня, это закончилось тем, что у меня был .Net 4.6, установленный на моей машине разработки, но проект был нацелен на .net 4.5. Я не мог понять причину, почему это произошло, но, тем не менее, эта вещь работала для меня.

Ответ 13

В моем случае веб-сайт по умолчанию был сопоставлен с другим приложением. Когда я пытался получить доступ к моему приложению внутри веб-сайта по умолчанию, я получил ошибку 403.14.

Решение заключалось в том, чтобы переназначить по умолчанию веб-сайт по умолчанию: C:\inetpub\wwwroot.