Как удалить ошибку о глификонах-халфлингах-regular.woff2 не найдено
Приложение ASP.NET MVC4 Bootstrap 3 работает от Microsoft Visual Studio Express 2013 для веб-среды IDE.
В консоли Chrome всегда отображается ошибка
http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2
Failed to load resource: the server responded with a status of 404 (Not Found)
Этот файл существует в каталоге шрифтов в обозревателе решений. Для действия сборки установлено значение "Контент", а "Копировать в выходной каталог" - "Не копировать, как в других файлах шрифтов".
Bootstrap 3 добавляется к решению с использованием NuGet.
Как исправить это, чтобы эта ошибка не возникала?
Приложение хорошо отображает значки Glyphicon и FontAwesome. Эта ошибка всегда возникает при запуске приложения.
Ответы
Ответ 1
Эта проблема возникает из-за того, что IIS не знает о woff
и
woff2
MIME файлы.
Решение 1:
Добавьте эти строки в ваш проект web.config:
<system.webServer>
...
</modules>
<staticContent>
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="font/woff2" />
</staticContent>
Решение 2:
На странице проекта IIS:
Шаг 1. Перейдите на домашнюю страницу IIS вашего проекта и дважды щелкните кнопку MIME Types
:
Шаг 2: Нажмите кнопку Add
в меню Actions
:
Шаг 3: В середине экрана появляется окно, и в этом окне вам нужно добавить две строки из решения 1:
Ответ 2
В моем случае я только что скачал отсутствующий файл прямо отсюда: https://gitlab.com/mailman/mailman-website/raw/a97d6b4c5b29594004e3855f1ab1222449d0c211/content/fonts/glyphicons-halflings-regular.woff2
Ответ 3
Добавьте это в свой html, если у вас есть только доступ к html:
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
Ответ 4
Я пробовал все предложения выше, но моя фактическая проблема заключалась в том, что мое приложение искало папку /font и ее содержимое (.woff и т.д.) в app/fonts, но папка my/fonts находилась на том же уровне, что/приложение. Я переместил /fonts под/app, и теперь он отлично работает. Надеюсь, это поможет кому-то другому в роуминге в Интернете ответить.
Ответ 5
Для меня проблема была двоякой: во-первых, версия IIS, с которой я имел дело, не знала о типе .woff2
MIME, только о .woff
. Я исправил это с помощью диспетчера IIS на уровне сервера, а не на уровне веб-приложения, поэтому настройки не будут переопределяться при каждом развертывании нового приложения. (В IIS Manager я перешел к MIME-типам и добавил отсутствующий .woff2
, а затем обновил .woff
.)
Во-вторых, и что более важно, я связывал bootstrap.css
вместе с некоторыми другими файлами как "~/bundles/css/site"
. Тем временем мои файлы шрифтов были в "~/fonts"
. bootstrap.css
ищет глифические шрифты в "../fonts"
, что переводится как "~/bundles/fonts"
- неверный путь.
Другими словами, мой путь к пакету был слишком глубоким. Я переименовал его в "~/bundles/siteCss"
и обновил все ссылки на него, найденные в моем проекте. Теперь начальный загрузчик искал в "~/fonts"
файлы глифов, которые работали. Проблема решена.
Прежде чем я исправил вторую проблему, описанную выше, ни один из файлов шрифтов glyphicon
не загружался. Симптомом было то, что все экземпляры glyphicon
глифов в проекте просто показывали пустое поле. Однако этот признак имел место только в развернутых версиях веб-приложения, а не на моем компьютере разработчика. Я до сих пор не уверен, почему это так.
Ответ 6
Эта проблема возникает из-за того, что IIS не находит фактическое расположение типов mime файлов woff2. Правильно установите URL-адрес font-face, также сохраните font-family как glyphicons-halflings-регулярно в вашем файле CSS, как показано ниже.
@font-face {
font-family: 'glyphicons-halflings-regular';
src: url('../../../fonts/glyphicons-halflings-regular.woff2') format('woff2');}