Ошибка HTTP 403.14 - запрещено - пакеты MVC4 .net 4.5
Я сделал приложение MVC4 с.net 4.5, используя бритвенный движок. Он отлично работает, когда работает локально с Visual Studio.
При развертывании в IIS на Windows Server 2008 R2(все обновления Windows сделаны), кажется, что мои пакеты не работают и CCS не загружается. Я попытался просмотреть сайт на сервере, просмотрел исходный код и пошел по ссылке на пакет для css, и он загрузил некоторые css, а затем возникла ошибка IIS:
Ошибка HTTP 403.14 - Запрещено Веб-сервер настроен так, чтобы не перечислять содержимое этого каталога.
Что я пробовал:
1) Гарантированный.net 4.5 установлен.
2) Добавлено <modules runAllManagedModulesForAllRequests="true"/>
на мой web.config
3) Ран %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
в cmd
4) Проверено, что мой пул приложений был установлен в Интегрированный режим
5) Проверено, что установлено использование.net 4
4 ответа
Вы найдете ответ здесь: ASP.NET MVC framework 4.5 CSS-пакеты не работают на хостинге
Краткий ответ - убедиться, что имена ваших пакетов не конфликтуют с именами путей на ваших сайтах.
Это решило это для меня (решение от MVC4 HTTP Ошибка 403.14 - Запрещено)
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
Убедитесь, что в вашем файле web.config вы включили анонимный доступ к вашим "виртуальным" путям пакетов.
Например, если ваши наборы стилей похожи на "~/content / blahblah", а ваши наборы javascript похожи на "~ / scripts / blahblah", вы должны открыть anonymoys доступ к местоположениям "content" и "scripts", как это в вашем файле web.config.:
<configuration>
...
<location path="content">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
<location path="scripts">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
...
</configuration>
Таким образом, любой запрос к виртуальному пути "~/content" или "~ / scripts" любым пользователем будет удовлетворен, а запросы CSS и JS будут обслуживаться.
Другая потенциальная проблема, которая вызывает 403.14, - это global.asax и / или web.config, который не копируется в ваших настройках публикации или развертывании.