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




3 Answers

Я попал в ту же проблему с .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 )

deploy to

Я пытаюсь добавить 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, чтобы избежать ошибок выше?




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




Вы исправили пути в файле 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




Related