Я использую @font-face
на сайте моей компании, и это работает / выглядит великолепно. За исключением Firefox и Chrome выдает ошибку 404 в .woff
файл. IE не выдает ошибку. У меня есть шрифты, расположенные в корне, но я пробовал со шрифтами в папке css и даже дал полный URL для шрифта. Если удалить эти шрифты из моего файла CSS, я не получу 404, поэтому я знаю, что это не синтаксическая ошибка.
Также я использовал инструмент fontsquirrels для создания @font-face
шрифтов и кода:
@font-face {
font-family: 'LaurenCBrownRegular';
src: url('/laurencb-webfont.eot');
src: local('☺'),
url('/laurencb-webfont.woff') format('woff'),
url('/laurencb-webfont.ttf') format('truetype'),
url('/laurencb-webfont.svg#webfontaaFhOfws') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'FontinSansRegular';
src: url('/fontin_sans_r_45b-webfont.eot');
src: local('☺'),
url('/fontin_sans_r_45b-webfont.woff') format('woff'),
url('/fontin_sans_r_45b-webfont.ttf') format('truetype'),
url('/fontin_sans_r_45b-webfont.svg#webfontKJHTwWCi') format('svg');
font-weight: normal;
font-style: normal;
}
css
http-status-code-404
font-face
woff
dcp3450
источник
источник
Ответы:
Я испытывал этот же симптом - 404 для файлов woff в Chrome - и запускал приложение на Windows Server с IIS 6.
Если вы находитесь в такой же ситуации, вы можете исправить это, выполнив следующие действия:
Решение 1
«Просто добавьте следующие объявления типов MIME через IIS Manager (вкладка« Заголовки HTTP »свойств сайта):
.woff application / x-woff»Обновление: в соответствии с MIME-типами для woff-шрифтов и Grsmto фактическим MIME-типом является
application / x-font-woff (по крайней мере, для Chrome). x-woff исправит Chrome 404s, x-font-woff исправит предупреждения Chrome.По состоянию на 2017 год : шрифты Woff теперь стандартизированы как часть спецификации RFC8081 для типа mime
font/woff
иfont/woff2
.Спасибо Себу Даггану: http://sebduggan.com/posts/serving-web-fonts-from-iis
Решение 2
Вы также можете добавить типы MIME в веб-конфигурацию :
источник
Cannot add duplicate collection entry of type ‘mimeMap’ with unique key attribute ‘fileExtension’...
из-за конфликта с файлом applicationhost.config. Вы можете исправить это, добавив<remove fileExtension=".woff" />
прямо перед указанием нового mimeMap в файле web.config, чтобы удалить ложную копию.application/font-woff
.application/x-font-woff
уже устарел, по состоянию на RFC 8081 правильный тип MIME сейчасfont/woff
иfont/woff2
. Смотрите обновленный ответ в связанном вопросеОтвет на этот пост был очень полезным и сэкономил много времени. Однако я обнаружил, что при использовании
FontAwesome 4.50
мне пришлось добавить дополнительную конфигурацию дляwoff2
типа расширения, как показано ниже, в противном случае запросы наwoff2
тип выдавали ошибку 404 в Инструментах разработчика Chrome в разделе «Консоль> Ошибки».Согласно комментарию S.Serp, приведенная ниже конфигурация должна быть заключена в
<system.webServer>
тег.источник
<staticContent>
должен быть внутри<system.webServer>
тегаНа самом деле ответ @Ian Robinson работает хорошо, но Chrome продолжит жаловаться с таким сообщением: « Ресурс интерпретируется как шрифт, но передается с помощью приложения MIME-типа / x-woff »
Если вы получите это, вы можете изменить
в
и у вас больше не будет ошибок консоли Chrome!
(проверено на Chrome 17)
источник
application/x-font-woff
уже устарел, по состоянию на RFC 8081 правильный тип MIME сейчасfont/woff
иfont/woff2
. Смотрите обновленный ответ в связанном вопросеРешение для IIS7
Я тоже сталкивался с той же проблемой. Я думаю, что делать эту конфигурацию на уровне сервера было бы лучше, поскольку она применима ко всем веб-сайтам.
Перейдите в корневой узел IIS и дважды щелкните параметр конфигурации «Типы MIME».
Нажмите ссылку «Добавить» на панели «Действия» в правом верхнем углу.
Это вызовет диалог. Добавьте расширение файла .woff и укажите «application / x-font-woff» в качестве соответствующего типа MIME.
Добавить MIME-тип для расширения имени файла .woff
Вот что я сделал, чтобы решить проблему в IIS 7
источник
В дополнение к ответу Яна я должен был разрешить расширения шрифтов в модуле фильтрации запросов, чтобы он работал.
источник
Запустите диспетчер сервера IIS (команда run: inetmgr). Откройте Mime Types и добавьте следующее
источник
Я перепробовал массу вещей, связанных с разрешениями, типами MIME и т. Д., Но для меня все закончилось тем, что web.config удалил обработчик статических файлов в IIS, а затем явно добавил его обратно для каталогов, которые будут иметь статические файлы. Как только я добавил узел местоположения для своего каталога и добавил обработчик обратно, запросы перестали получать 404 с.
источник
Если вы используете CodeIgniter под IIS7:
В вашем файле web.config добавьте woff к шаблону
Надеюсь, поможет !
источник
Это может быть очевидно, но это несколько раз сбило меня с 404s ... Убедитесь, что права доступа к папке шрифтов установлены правильно.
источник
Также проверьте ваш URL переписчик. Он может выбросить 404, если что-то «странное» было найдено.
источник
Если у вас нет доступа к конфигурации вашего веб-сервера, вы также можете просто переименовать файл шрифта, чтобы он заканчивался на svg (но сохранял формат). У меня отлично работает в Chrome и Firefox.
источник
Если все еще не работает после добавления типов MIME, проверьте, включена ли «Анонимная аутентификация» в разделе «Аутентификация» на сайте, и убедитесь, что выбрали «Идентификатор пула приложений» в соответствии с данным снимком экрана.
источник
Тип IIS MIME: .woff font / x-woff (не приложение / x-woff или application / x-font-woff)
источник
Решил это:
Я должен был использовать метод Mo'Bulletproofer
источник