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

404 по статическому контенту (svg, woff, ttf) на Azure

Я пытаюсь добавить bootstrap glyphicons-halflings-regular.svg на свой веб-сайт. Локально все работает нормально, но на Azue у меня 404 ошибки:

Ресурс, который вы ищете, был удален, его название изменено или временно недоступно.

или когда я добавляю ниже staticContent в мой web.config

<staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
    <remove fileExtension=".ttf" />
    <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
    <remove fileExtension=".svg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>

Я получил эту ошибку:

Контроллер для пути '/Content/fonts/glyphicons-halflings-regular.woff' не был найден или не реализует IController.

Как правильно настроить сайт ASP.NET, чтобы избежать ошибок выше?

4b9b3361

Ответ 1

Я не использовал файлы шрифтов в решении. Это привело к тому, что веб-сайт публикации не содержит эти файлы.

Ответ 2

Я столкнулся с той же проблемой с файлом .woff. Решение с добавлением расширения на web.config отлично работает:

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension="woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>

(см. орг. решение: http://www.codepal.co.uk/show/WOFF_files_return_404_in_Azure_Web_Sites)

Ответ 3

Когда я помещал предложенные строки в web.config, это не сработало. Вместо этого я помещаю следующие строки в web.config (обратите внимание на заглавную букву)

<configuration>
    <system.webServer>
        <staticContent>
            <mimeMap fileExtension="woff" mimeType="application/font-woff" />
            <mimeMap fileExtension="woff2" mimeType="application/font-woff" /> 
         </staticContent>
    </system.webServer>

Ответ 4

Если вы используете непрерывное развертывание на Azure, убедитесь, что "действие сборки" всех файлов, которые вам нужны, это "Содержание", а не "Нет".

Ответ 5

Вы исправили пути в файле css, ссылающиеся на файлы шрифтов? Bootstrap предполагает, что файл css находится внутри каталога css, а шрифты находятся внутри каталога fonts на том же уровне, что и css-directory.

При запуске в Azure сайт, вероятно, работает в режиме Release. Это означает, что ваш css и javascript будут уменьшены и объединены. Иногда это может нарушить вашу настройку.

Я выполнил следующую настройку, когда включал загрузку в мои проекты:

Разархивируйте файлы начальной загрузки в каталог /Content.

Добавьте следующие строки в App_Start/BundleConfig.cs

bundles.Add(new StyleBundle("~/Content/bootstrap/css/bundle")
.Include("~/Content/bootstrap/css/bootstrap.css"));
bundles.Add(new ScriptBundle("~/Content/bootstrap/js/bundle")
.Include("~/Content/bootstrap/js/bootstrap.js"));

Добавьте следующие строки в View/Shared/_Layout.cshtml

@Styles.Render("~/Content/bootstrap/css/bundle") 
@Scripts.Render("~/Content/bootstrap/js/bundle") 

Обратите внимание, что jQuery должен быть включен перед jst-пакетом Bootstrap.

http://hj-dev.blogspot.no/2013/02/add-twitter-bootstrap-to-mvc4.html