Ответ 1
обновление для IIS решает мою проблему, которую можно скачать по ссылке ниже: http://support.microsoft.com/kb/980368
мы разработали приложение 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/, но эти решения не работают для меня
любая идея для решения этой проблемы?
обновление для IIS решает мою проблему, которую можно скачать по ссылке ниже: http://support.microsoft.com/kb/980368
У меня была такая же проблема на совершенно новой машине, после установки 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
НТН
Сначала Вы должны зарегистрировать структуру для 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-адреса не заканчиваются на период
Это произошло со мной, потому что я ошибочно выполнил несвязанный поиск и заменил, который переименовал параметр 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", он зафиксировал его.
Открыть расширенную командную строку в 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
Команды используются для регистрации приложений ASP.NET с сервером IIS.
Возможно... Если вам придётся использовать мастер публикации (как и я) и установите флажок "Прекомпилировать во время публикации" (как и я) и увидим те же симптомы...
Да, я избил себя над головой, но, сняв этот флажок, казалось бы, несвязанные настройки, все описанные симптомы ушли.
Надеюсь, это исправит некоторых людей.
Похоже, что приложение настроено неправильно. Убедитесь, что ваш web.config развернут вместе со всеми вашими файлами приложений и что пул приложений настроен правильно.
Если вы заходите на машину, на которой запущен IIS, вы, скорее всего, получите более подробное сообщение об ошибке.
Я бы прокомментировал ответ @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 }
);
В моем случае проблема была связана с настройкой Physical Path.
Это указывало на C:\Inetpub\Wwwroot\MySite
но импортированный сайт C:\inetpub\wwwroot\MySite\Веб-сайт по умолчанию \MySite
Я изменил путь в iis через MySite → Редактировать сайт → Основные настройки, и я был на гонках.
Произошла такая же ошибка (403.14) после копирования рабочей ConnectionString из моего web.config в новом проекте, чтобы заменить ConnectionString на старый проект, после чего начал выполнять тестирование на localdb и получил ошибку. Примечание. Я скопировал из нового web.config в старый файл web.config только строку connectionString строки подключения и не вносил никаких изменений в имя или имя поставщика в старом проекте. После нескольких исследований, проведенных в течение нескольких часов, он, наконец, попал в один из подключенных sqldatasources по старому проекту (на вкладке дизайна в VS 2012) и повторно настроил sqldatasource (щелкнул "настроить источник данных" ), а в первом раскрывающемся списке выбрано имя, связанное с именем с одним из недавно скопированных ConnectionStrings. Это все, что нужно для начала работы, и после перенастройки ConnectionString он начал работать. Подозреваю, что, когда я скопировал ConnectionString из нового проекта в старый проект, таблица по умолчанию, указанная в процессе присваивания sqldatasource, могла быть потеряна?
Вам нужно изменить пул приложений для сайта:
ASP.NET v4.0
У меня была такая же ошибка, но ни один из вышеперечисленных решений не работал у меня, это закончилось тем, что у меня был .Net 4.6, установленный на моей машине разработки, но проект был нацелен на .net 4.5. Я не мог понять причину, почему это произошло, но, тем не менее, эта вещь работала для меня.
В моем случае веб-сайт по умолчанию был сопоставлен с другим приложением. Когда я пытался получить доступ к моему приложению внутри веб-сайта по умолчанию, я получил ошибку 403.14.
Решение заключалось в том, чтобы переназначить по умолчанию веб-сайт по умолчанию: C:\inetpub\wwwroot.