88

Ứng dụng ASP.NET MVC4 Bootstrap 3 đang chạy từ Microsoft Visual Studio Express 2013 cho Web IDE.

Bảng điều khiển Chrome hiển thị luôn có lỗi

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

Tệp này tồn tại trong thư mục phông chữ trong Solution Explorer. Hành động xây dựng được đặt thành "Nội dung" và thư mục Sao chép vào đầu ra là "Không sao chép như trong các tệp phông chữ khác". Bootstrap 3 được thêm vào giải pháp bằng NuGet. Làm thế nào để khắc phục điều này để lỗi này không xảy ra? Ứng dụng hiển thị đúng biểu tượng Glyphicon và FontAwgie. Lỗi này luôn xảy ra khi khởi động ứng dụng.

|
230

Vấn đề này xảy ra vì IIS không biết woffsắp xếp woff2các loại mime.

Giải pháp 1:

Thêm các dòng này trong dự án web.config của bạn:

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

Giải pháp 2:

Trên trang dự án IIS:

Bước 1: Chuyển đến trang chủ IIS dự án của bạn và nhấp đúp chuột vào MIME Typesnút:

Bước 2: Nhấp vào Addnút từ Actionsmenu:

Bước 3: Ở giữa màn hình xuất hiện một cửa sổ và trong cửa sổ này, bạn cần thêm hai dòng từ giải pháp 1:

|
  • 1

    Điều này giải quyết nó cho tôi, nhưng tại sao? Tôi sẽ đánh giá cao một lời giải thích về lý do tại sao giải pháp hoạt động không chỉ là một bản sao / dán mã được cung cấp.

    – Bùi Hữu Thiện 20:57:18 02/12/2015
  • 1

    @Bpainter Dòng đầu tiên trong câu trả lời này cho bạn biết lý do. Các loại mime không được liên kết với một loại để trình duyệt không tải được. Tại sao trình duyệt không tải tệp loại mime không liên quan? Tôi nghĩ đó là một câu hỏi riêng biệt mà tôi không biết câu trả lời.

    – Trịnh Quốc Thắng 12:44:50 15/12/2015
  • 1

    @ CamilleSévigny Tôi tin rằng câu trả lời cho câu hỏi của bạn là IIS chỉ cung cấp các loại tệp hợp lệ có sẵn, vì vậy nó không nhận ra các phần mở rộng .woff và .woff2, nó đáp ứng các yêu cầu cho các tệp này với 404 - không tìm thấy.

    – Tạ Phương Hoa 18:22:52 21/12/2015
  • 1

    @ CamilleSévigny Cảm ơn, khi tôi đưa ra nhận xét đó, dòng đầu tiên không có ở đó. Nó đã được chỉnh sửa sau khi thực tế. Nếu không có bình luận của bạn mặc dù tôi sẽ không bao giờ nhìn thấy nó.

    – Vũ Đình Cường 18:59:56 22/12/2015
  • 1

    Trong trường hợp của tôi, vấn đề là CssRewriteUrlTransform mà tôi đã sử dụng trong Gói bootstrap và Font-Awesome. Nếu bạn bảo tồn cấu trúc thư mục bình thường của họ, không cần sử dụng tùy chọn này.

    – Tạ Phi Long 11:05:10 16/11/2016
41

Trong trường hợp của tôi, tôi vừa tải xuống tệp bị thiếu trực tiếp từ đây: https://github.com/twbs/bootstrap/blob/master/dist/fonts/glyphicons-halflings-THER.woff2

|
  • 1

    giải quyết nó cho tôi Cảm ơn. Tôi đã tải xuống các tệp và lưu thư mục phông chữ trong thư mục dự án của tôi. Các tệp CSS trong thư mục "css", phông chữ trong thư mục "phông chữ"

    – Đỗ Bích Ðiệp 15:51:29 06/07/2016
  • 1

    Đôi khi các giải pháp khá đơn giản và chúng tôi không biết :) Thnx cho giải pháp, tôi đã bỏ lỡ điều này trong fontsthư mục của mình trong ứng dụng

    – Hoàng Minh Hương 06:48:35 29/06/2017
3

Tôi đã thử tất cả các đề xuất ở trên, nhưng vấn đề thực tế của tôi là ứng dụng của tôi đang tìm thư mục / font và nội dung của nó (.woff, v.v.) trong ứng dụng / phông chữ, nhưng thư mục / phông chữ của tôi ở cùng cấp với / ứng dụng. Tôi đã di chuyển / phông chữ dưới / ứng dụng và bây giờ nó hoạt động tốt. Tôi hy vọng điều này sẽ giúp người khác chuyển vùng trên web để có câu trả lời.

|
3

Thêm cái này vào html của bạn nếu bạn chỉ có quyền truy cập vào html:

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

Đối với tôi, vấn đề có hai mặt: Đầu tiên, phiên bản IIS tôi đang xử lý không biết về .woff2loại MIME, chỉ nói về .woff. Tôi đã sửa lỗi bằng cách sử dụng Trình quản lý IIS ở cấp máy chủ, không phải ở cấp ứng dụng web, vì vậy cài đặt sẽ không bị ghi đè với mỗi lần triển khai ứng dụng mới. (Trong Trình quản lý IIS, tôi đã đi đến các loại MIME và thêm phần còn thiếu .woff2, sau đó cập nhật .woff.)

Thứ hai, và quan trọng hơn, tôi đã gói bootstrap.csscùng với một số tệp khác "~/bundles/css/site". Trong khi đó, tập tin phông chữ của tôi là trong "~/fonts". bootstrap.csstìm kiếm các phông chữ glyphicon trong "../fonts"đó, dịch thành "~/bundles/fonts"- đường dẫn sai.

Nói cách khác, đường dẫn gói của tôi là một thư mục quá sâu. Tôi đã đổi tên nó thành "~/bundles/siteCss"và cập nhật tất cả các tham chiếu đến nó mà tôi tìm thấy trong dự án của mình. Bây giờ bootstrap tìm "~/fonts"kiếm các tập tin glyphicon, đã hoạt động. Vấn đề được giải quyết.

Trước khi tôi cố định vấn đề thứ hai ở trên, không ai trong số các glyphiconfile font được nạp. Triệu chứng là tất cả các trường hợp glyphiconglyphs trong dự án chỉ hiển thị một hộp trống. Tuy nhiên, triệu chứng này chỉ xảy ra trong các phiên bản đã triển khai của ứng dụng web, không phải trên máy dev của tôi. Tôi vẫn không chắc tại sao lại như vậy.

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.