glyphicons-halflings-regular.woff2 찾을 수 없음에 대한 오류를 제거하는 방법


95

ASP.NET MVC4 Bootstrap 3 응용 프로그램은 Web IDE 용 Microsoft Visual Studio Express 2013에서 실행됩니다.

Chrome 콘솔에 항상 오류가 표시됨

http://localhost:52216/admin/fonts/glyphicons-halflings-regular.woff2
Failed to load resource: the server responded with a status of 404 (Not Found)

이 파일은 솔루션 탐색기의 글꼴 디렉터리에 있습니다. 빌드 동작은 "내용"으로 설정되고 출력 디렉토리에 복사는 "다른 글꼴 파일처럼 복사하지 않음"입니다. NuGet을 사용하여 부트 스트랩 3이 솔루션에 추가됩니다. 이 오류가 발생하지 않도록 수정하는 방법은 무엇입니까? 응용 프로그램은 Glyphicon 및 FontAwesome 아이콘을 올바르게 표시합니다. 이 오류는 항상 응용 프로그램 시작시 발생합니다.

답변:


239

이 문제는 IIS가 woffwoff2파일 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버튼을 두 번 클릭 합니다.

1 단계

2 단계 : 메뉴 에서 Add버튼을 클릭 Actions합니다. 2 단계

3 단계 : 화면 중앙에 창이 나타나고이 창에는 솔루션 1의 두 줄을 추가해야합니다. 3 단계


이것은 나를 위해 그것을 해결했지만 왜? 솔루션이 제공된 코드의 무의미한 복사 / 붙여 넣기 이상으로 작동하는 이유에 대한 설명을 주시면 감사하겠습니다.
Bpainter 2015

3
@Bpainter이 답변의 첫 번째 줄은 이유를 알려줍니다. MIME 유형은 유형과 연결되어 있지 않으므로 브라우저에서로드하지 못합니다. 브라우저가 연관되지 않은 MIME 유형 파일을로드하지 않는 이유는 무엇입니까? 답을 모르는 별도의 질문이라고 생각합니다.
Camille Sévigny 2015

4
@ CamilleSévigny 귀하의 질문에 대한 대답은 IIS가 유효한 파일 형식 만 사용할 수 있다는 것이므로 .woff 및 .woff2 확장자를 인식하지 못하기 때문에 404-찾을 수없는 이러한 파일에 대한 요청에 응답합니다.
Grungondola

@ CamilleSévigny 감사합니다. 제가 그 코멘트를했을 때 첫 줄이 없었습니다. 사실 후에 편집되었습니다. 당신의 의견이 없었다면 나는 결코 그것을 보지 못했을 것입니다.
Bpainter

제 경우 문제는 부트 스트랩 및 Font-Awesome 번들에서 사용한 CssRewriteUrlTransform 이었습니다 . 일반 폴더 구조를 유지하면이 옵션을 사용할 필요가 없습니다.
g_brahimaj 2016

48

7
나를 위해 그것을 해결했습니다. 감사. 파일을 다운로드하고 내 프로젝트 디렉토리 아래에 fonts 폴더를 저장했습니다. "CSS"폴더에 CSS 파일, 글꼴 "글꼴"폴더에
키프로스

1
때때로 솔루션은 매우 간단하며, 우리가 알지 못하는 : 솔루션에 대한) Thnx, 나는이 놓친 fonts내 MVC5 응용 프로그램 폴더에
Irfaan

6

html에만 액세스 할 수있는 경우 다음을 html에 추가하십시오.

<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">

감사합니다.이 솔루션은 저에게 효과적이었습니다. 그러나,이 당과의 web.config에 추가 <staticContent> 태그 - stackoverflow.com/questions/46508793/...은 - 나를 위해 일을하지 않았다.
BUDDHIKA

5

나에게 문제는 두 가지였다. 첫째, 내가 다루던 IIS 버전은 .woff2MIME 유형 에 대해 몰랐고 .woff. 웹 앱 수준이 아닌 서버 수준에서 IIS 관리자를 사용하여 설정이 새 앱 배포마다 재정의되지 않도록 수정했습니다. (IIS 관리자에서 MIME 유형으로 이동하여 누락 된을 추가 .woff2한 다음 업데이트했습니다 .woff.)

둘째, 더 중요한 것은 bootstrap.css다른 파일과 함께 "~/bundles/css/site". 한편 내 글꼴 파일은 "~/fonts". bootstrap.css에서 글 리피 콘 글꼴을 찾습니다 "../fonts". 이는 "~/bundles/fonts"잘못된 경로로 번역되었습니다 .

즉, 내 번들 경로가 너무 깊은 하나의 디렉토리였습니다. 이름을으로 바꾸고 "~/bundles/siteCss"프로젝트에서 찾은 모든 참조를 업데이트했습니다. 이제 부트 스트랩 "~/fonts"이 작동하는 glyphicon 파일을 찾았습니다 . 문제 해결됨.

나는 위의 두 번째 문제를 해결하기 전에, 아무도glyphicon글꼴 파일을로드하지 않았다. 증상은 glyphicon프로젝트 의 모든 글리프 인스턴스가 빈 상자를 표시한다는 것입니다. 그러나이 증상은 내 dev 컴퓨터가 아닌 웹 앱의 배포 된 버전에서만 발생했습니다. 왜 그랬는지 아직도 모르겠습니다.


3

위의 모든 제안을 시도했지만 실제 문제는 내 응용 프로그램이 app / fonts에서 / font 폴더와 그 내용 (.woff 등)을 찾고 있었지만 / fonts 폴더가 / app과 같은 수준에 있다는 것입니다. 나는 / fonts를 / app 아래로 옮겼고 이제 잘 작동합니다. 이것이 다른 사람이 웹을 로밍하는 데 도움이되기를 바랍니다.


1

이 문제는 IIS가 woff2 파일 MIME 형식 의 실제 위치 를 찾지 못하기 때문에 발생 합니다. font-face의 URL을 올바르게 설정하고 아래와 같이 CSS 파일에서 font-family를 glyphicons-halflings-regular 로 유지하십시오.

@font-face {
font-family: 'glyphicons-halflings-regular'; 
src: url('../../../fonts/glyphicons-halflings-regular.woff2') format('woff2');}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.