Как заставить fontawesome работать с развертыванием веб-страниц Azure?

Мы используем Twitter Bootstrap и FontAwesome для поддержки значков.

При развертывании на одном из наших серверов IIS мне нужно добавить поддержку MIME.

При развертывании в Azure не похоже, что у меня есть эта возможность, поэтому теперь мои значки не отображаются, потому что похоже, что он не знает, как использовать шрифт.


person mattruma    schedule 09.11.2012    source источник


Ответы (3)


Просто добавьте в web.config следующее...

<system.webServer>    
   <staticContent>
       <remove fileExtension=".svg" />
       <remove fileExtension=".eot" />
       <remove fileExtension=".woff" />
       <mimeMap fileExtension=".svg" mimeType="image/svg+xml"  />
       <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
       <mimeMap fileExtension=".woff" mimeType="application/x-woff" />
    </staticContent>
</system.webServer>
person Jamie Altizer    schedule 09.11.2012
comment
Спасибо! Я бьюсь с этим уже два дня! - person mattruma; 09.11.2012
comment
Хм, я пробовал это, но все равно это не работает. Хотя типы MIME на стороне сервера обновляются с помощью локальных определений. - person tofutim; 04.08.2013
comment
где находится web.config? - person fscore; 29.10.2014
comment
@fscore Он находится в корневой папке вашего сайта. Там же, где вы храните файл index.html. - person Martyn Chamberlin; 02.04.2015
comment
Строка woff должна быть <mimeMap fileExtension=".woff" mimeType="application/font-woff" /> - person GalacticJello; 13.04.2015

ОБНОВЛЕНИЕ

Этот ответ теперь не нужен из-за недавних изменений в пакете nuget FontAwesome.


В дополнение к решению, описанному в принятом ответе, я заметил, что шрифты в моем проекте были в ~/Content/fonts, но сайт искал шрифты в /fonts на Azure.

В качестве обходного пути я скопировал файлы шрифтов в ~/fonts (убедившись, что действие сборки установлено на Content для всех), и в облаке все в порядке.

person Patrick McDonald    schedule 08.11.2013
comment
Требуется исходный ответ выше - об изменениях web.config. Но этот ответ также помог мне выбрать правильное направление. Я не хотел публиковать свои шрифты в другом месте (~/fonts), поэтому я просто разделил fontawesome на отдельный пакет с путем более низкого уровня /Content/fonts/bundle... вот так: bundles.Add(new StyleBundle (~/Content/fonts/bundle).Include(~/Content/fontawesome/font-awesome.css)); - person Ender2050; 23.11.2013
comment
это решение работает. По какой-то причине font-awesome искал папку шрифтов в корневом каталоге, даже если URL-адрес (../) внутри font-awesome.css ищет относительную папку шрифтов внутри каталога font-awesome. - person Lexy Feito; 29.09.2016

После выполнения вышеуказанного, и если это все еще не работает, проверьте файл font-awesome.css в папке css папки вашей темы.

Существует URL-адрес, связывающий файлы шрифтов. Убедитесь, что он указывает на папку с файлами шрифтов из вашего нового домена, указывающими на ваш сайт Azure, т. е. введите полный URL-адрес вместо ../font/...

person Marilize    schedule 13.10.2015