IIS 8.0에서 글꼴이 작동하지 않음


118

내 프로그램에 Font Squirrel에서 생성 된 글꼴이 있는데 IIS에서 작동하도록 할 수 없으며 localhost에서 작동합니다. 내 MIME 유형 에 application / font-woff 기사 를 추가 했지만 여전히 작동하지 않습니다.

Context
--Fonts
----font location
--css files

CSS

@font-face {
    font-family: 'wallStreetFont';
    src: url('Fonts/subway-webfont.eot');
    src: url('Fonts/subway-webfont.eot?#iefix') format('embedded-opentype'),
         url('Fonts/subway-webfont.woff2') format('woff2'),
         url('Fonts/subway-webfont.woff') format('woff'),
         url('Fonts/subway-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

현재 MIME 수정

기본 IIS 8 MIME 글꼴 / x-woff를 사용하고 있습니다.


어떻게 부르나요? Font Squirrel zip의 샘플 출력을 사용해 보셨습니까?
Aibrean

IIS 8을 사용하는 경우 WOFF에 대한 웹 구성에 MIME 유형을 추가 할 필요가 없습니다. 사실 중복이 있으면 오류가 발생할 가능성이 더 큽니다.
Colin Bacon

@Aibrean 예 샘플 출력 작동
joetinger 2014-09-11

@ColinBacon 내가 게시 한 후에 읽었습니다. 그래서 나는 현재 font / x-woff를 가지고 있으며 이것은 IIS 8.0에서 상속되었습니다. 그러나 올바른 글꼴을 얻는 데는 여전히 운이 없습니다
joetinger

답변:


259

WOFF2가 Font Squirrel 글꼴에 포함되는 것을 보게되어 기쁩니다! IIS 8에는 MIME 유형이 추가 WOFF될 필요 가 없지만 WOFF2. W3C 다음을 권장합니다 .

application/font-woff2

자세한 내용 WOFF2여기 를 참조 하십시오 .

IIS에서 MIME 유형을 추가하려면 Web.Config다음과 같이 수정하십시오 .

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <!-- ... -->
  <system.webServer>
    <!-- ... -->
    <staticContent>
      <!-- ... -->
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>
    <!-- ... -->
  </system.webServer>

2
내가 추가 한 woff2하지만 여전히 아무것도
joetinger

4
개발 도구를 살펴보면. 글꼴 파일을 얻으려고 할 때 404가 표시됩니까? 경로가 올바른지, 브라우저에서 해당 경로를 탐색 할 수있는 권한이 있는지 확인하십시오.
Colin Bacon

예, http://192.168.72.196:85/bundles/Fonts/subway-webfont.woff2그래도 번들 폴더를 어디에서 가져 오는지 잘 모르겠습니다. 어떤 생각?
joetinger 2014 년

4
ASP.NET 번들링 및 축소를 사용하고 있다고 가정합니다. 번들 구성에서 이것을 설정하면 BundleTable.EnableOptimizations = true. 로컬 호스트는 프로덕션 서버에서와 동일하게 작동해야합니다.
Colin Bacon

1
지금 작동하는 모든 도움에 감사드립니다. woff2과 404 오류 의 조합이었고 결국 번들에서 철자가 틀 렸습니다. 감사합니다!
joetinger 2014 년

79

IIS에서 woff 및 woff2 글꼴이 제대로 작동하도록하려면 Web.Config 파일에 다음 MIME 유형을 추가해야합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>  
  <system.webServer>    
    <staticContent>
        <remove fileExtension=".woff" />
        <remove fileExtension=".woff2" />
        <mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
        <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
    </staticContent>

Google 크롬에서 404 오류가 계속 발생하면 페이지를 새로 고침하기 전에 브라우저 캐시를 지워야합니다.


2
사양은 이제 woff에 대한 mimeType을 application / font-woff로 권장 합니다.
Steven

2
나는 .woff2 404 문제 만 받고 있었고 이것은 나를 위해 일했습니다. 난 단지 woff2에 관한 선 사용
Francisc0

26

IIS 관리자 내에서 MIME 유형을 구성 할 수도 있습니다. 웹 사이트를 선택한 다음 기본 창의 IIS 아래에있는 MIME 유형 아이콘을 두 번 클릭하면됩니다.

여기에 이미지 설명 입력

그러면 기존의 모든 MIME 유형 목록이 표시되고 오른쪽 창의 추가 ... 링크를 사용하여 새 유형을 추가 할 수 있습니다.


2
web.config를 사용하지 않는 이유는 무엇입니까? !!
Mojtaba Pourmirzaei

7
@MojtabaPourmirzaei 모든 사람이 시스템 관리자가 아니기 때문입니다. 이것이 IIS에 UI가있는 이유입니다.
Alph.Dev

IIS에서 .NET이 아닌 웹 사이트를 배포하는 경우이 방식으로 수행해야합니다 (예 : Angular 앱).
Jon Kruger

0

웹 솔루션 Metro4 UI 아이콘을 배포하고 CDN에서 Compiled 옵션으로 전환하는 동안이 문제가 발생했습니다.

내 프로젝트는 WebSharper 플랫폼을 사용하여 개발되었지만 솔루션은 어쨌든 이러한 구현 세부 사항과 독립적입니다.

긴 이야기를 짧게, 나는했습니다 내가 파일 확장자, 예를 들어 추가했다는 것을 발견 .ttf안쪽 security세 이하 섹션 system.webServerWeb.config.

<security>
    <requestFiltering>
        <fileExtensions>
            <add fileExtension=".ttf" allowed="true" />
        </fileExtensions>
    </requestFiltering>
</security>

IIS의 GUI 설정에서도 동일한 구성 옵션을 사용할 수 있습니다.

IIS GUI

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.