IIS Express 용 web.config에 MIME 매핑 추가


178

IIS Express에 .woff 파일 확장자를위한 새로운 MIME 매핑을 추가해야합니다.

다음 코드를 IIS Express의 "applicationhost.config"에 추가하면 정상적으로 작동합니다.

<staticContent lockAttributes="isDocFooterFileName">
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
    ...

하지만 실제로는 "web.config"에 추가하여 모든 개발자가 "applicationhost.config"를 로컬로 변경하지 않아도됩니다.

"applicationhost.config"파일에서 다시 제거하고 프로젝트의 "web.config"에 다음 스 니펫을 추가했습니다.

<system.webServer>
  ...
  <staticContent>
    <mimeMap fileExtension=".woff" mimeType="font/x-woff" />
  </staticContent>
</system.webServer>

불행히도 .woff 파일에 액세스하려고하면 HTTP 404.3 오류가 발생하기 때문에 그렇게 작동하지 않는 것 같습니다.

내가 뭘 잘못하고 있죠?

답변:


309

"web.config"에 넣으면 정상적으로 작동합니다. 문제는 MIME 유형이 잘못되었다는 것입니다. 대신 font/x-woff또는 font/x-font-woff다음과 같아야합니다 application/font-woff.

<system.webServer>
  ...
  <staticContent>
    <remove fileExtension=".woff" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
  </staticContent>
</system.webServer>

MIME 유형에 대한이 답변을 참조하십시오 : https : //.com/a/5142316/135441

2013 년 4 월 10 일 업데이트

스펙은 이제 권장 사항이며 MIME 유형은 공식적으로 다음과 같습니다. application/font-woff



5
링크에 따르면 업데이트 된 MIME 유형은 이제 application / font-woff (더 이상 사용되지 않는 application / x-font-woff가 아님) 여야합니다.
longda

1
@longda 힌트를 주셔서 감사합니다! 나는 그것을 반영하기 위해 대답을 업데이트했다.
Martin Buberl

web.config에서 사용자 지정 MIME 형식을 정의하는이 방법은 IIS Express에서만 작동합니까? IIS 6에 배포 된 web.config에서 시도했지만 작동하지 않습니다 (404가 발생합니다). IIS 관리자 콘솔을 통해 MIME 유형을 추가하면 작동합니다.
Walter Stabosz

@WalterStabosz 위의 IIS 및 IIS Express 7 이상에서 작동합니다. IIS 6을 사용하는 경우 서버에서 MIME 유형을 구성해야합니다 . IIS 6에서 MIME 유형 구성을 참조하십시오 .
Martin Buberl

59

누구든지 오류 : Error :와 같은 오류가 발생하면 고유 키 속성으로 'mimeMap'유형의 중복 컬렉션 항목을 추가 할 수 없으며이 수정을 수행 할 때 다른 스크립트가 작동을 중지하면 다음과 같이 먼저 제거하는 것이 도움이 될 수 있습니다.

<staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>

적어도 그것은 내 문제를 해결했다.


1
고마워, 그것은 배포 할 때 약간의 안전을 추가합니다 :)
rdmptn

3
IIS에 대해 좋아하는 기능 목록에 이것을 추가하십시오.
QueueHammer 2016 년

1
서버에 이미 MIME 유형이있는 경우 web.config에 MIME 유형을 지정하면 복제 예외가 발생할 수 있습니다.
머핀 맨

19
<system.webServer>
     <staticContent>
      <remove fileExtension=".woff"/>
      <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
      <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
    </staticContent>
  </system.webServer>

6

나는 이것이 오래된 질문이라는 것을 알고 있지만 ...

IISExpress 인스턴스가 woff 파일을 제공하지 않는다는 것을 알았으므로 검색하지 않고 다음을 발견했습니다.

http://www.tomasmcguinness.com/2011/07/06/adding-support-for-svg-to-iis-express/

문제가 없었기 때문에 설치에서 SVG를 지원한다고 가정합니다. 그러나 지침은 간단하게 수정할 수 있습니다.

  • 관리자 권한으로 콘솔 응용 프로그램을 엽니 다.
  • IIS Express 디렉토리로 이동합니다. 프로그램 파일 또는 프로그램 파일 (x86)에 있습니다.
  • 다음 명령을 실행하십시오 :

    appcmd set config / section : staticContent / + [fileExtension = 'woff', mimeType = 'application / x-woff']

내 문제를 해결했고 ( PUT그리고 DELETE동사에 대한 지원을 추가해야했던 것처럼) 약간의 엉뚱한 구성을 망칠 필요가 없었습니다 . 예이!


4

이 게시물에 감사드립니다. 내 asp.net mvc 프로젝트에서 콧수염 템플릿을 사용 하여이 작업을 수행했으며 다음을 사용했으며 나에게 도움이되었습니다.

<system.webServer>   
  <staticContent>
   <mimeMap fileExtension=".mustache" mimeType="text/html"/>
  </staticContent>
</system.WebServer>

3

IIS Express를 사용하지 않고 Local Full IIS 7을 개발하고 있습니다.

다른 누군가가 그렇게하려고한다면 IIS 관리자를 통해 woff에 대한 MIME 유형을 추가해야했습니다.

MIME 유형 >> 오른쪽의 추가 링크를 클릭 한 다음 확장자를 입력하십시오. .woff MIME 유형 : application / font-woff


고마워, 프로젝트를 다시 시작하는 데 속도가 빨랐습니다. IIS7.5에서는 문제가 없었지만 Win8과 IIS8을 얻었으며 사이트 web.config의 매핑이 IIS 구성과 중복되어 요청 된 정적 리소스에 오류가 발생했습니다. 복제본을 제거했는데 이제 제대로 작동합니다.
rdmptn

3

이 문제를 해결하려면 왼쪽 패널에서 IIS 루트 노드를 선택한 상태에서 "MIME 유형"구성 옵션을 두 번 클릭하고 오른쪽의 작업 패널에서 "추가 ..."링크를 클릭하십시오. 다음과 같은 대화 상자가 나타납니다. .woff 파일 확장자를 추가하고 "application / x-font-woff"를 해당 MIME 유형으로 지정하십시오.

여기에 이미지 설명을 입력하십시오

application / x-font-woff2와 함께 woff2에 대해 동일하게 수행하십시오.


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