Dlaczego @font-face wyrzuca błąd 404 na plikach woff?
Używam @font-face
na stronie mojej firmy i działa / wygląda świetnie. Z tym, że Firefox i Chrome wyrzucą błąd 404 w pliku .woff
. IE nie wyrzuca błędu. Mam czcionki znajdujące się w katalogu głównym, ale próbowałem z czcionkami w folderze css, a nawet podałem cały adres url czcionki. Jeśli usuń te czcionki z mojego pliku css, nie dostaję 404, więc wiem, że nie jest to błąd składni.
Użyłem również narzędzia fontsquirrels do stworzenia czcionek @font-face
i kodu:
@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;
}
14 answers
Doświadczałem tego samego objawu-404 na plikach WOFF w Chrome - i uruchamiałem aplikację na serwerze Windows z IIS 6.
Jeśli jesteś w tej samej sytuacji, możesz to naprawić, wykonując następujące czynności:
Rozwiązanie 1
" wystarczy dodać następujące deklaracje typu MIME za pomocą Menedżera IIS (zakładka nagłówki HTTP właściwości witryny): .aplikacja woff / x-WOFF "
Update: zgodnie z typami MIME dla czcionek woff i Grsmto rzeczywisty typ MIME to application / x-font-WOFF (przynajmniej dla Chrome). x-WOFF naprawi Chrome 404s, x-font-WOFF naprawi Ostrzeżenia Chrome.
Od 2017 r. : fonty WOFF zostały znormalizowane jako część specyfikacji RFC8081 do typu mime font/woff
i font/woff2
.
Dzięki Seb Duggan: http://sebduggan.com/posts/serving-web-fonts-from-iis
Rozwiązanie 2
Możesz również dodać Typy MIME w Web config :
<system.webServer>
<staticContent>
<remove fileExtension=".woff" /> <!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff" mimeType="font/woff" />
</staticContent>
</system.webServer>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-15 08:29:43
Właściwie odpowiedź @ Ian Robinson działa dobrze, ale Chrome będzie nadal narzekać z tym komunikatem : "zasób zinterpretowany jako czcionka, ale przeniesiony za pomocą aplikacji typu MIME / x-WOFF "
Jeśli to dostaniesz, możesz zmienić z
Application / x-woff
Do
Application / x-font - WOFF
I nie będziesz miał już żadnych błędów konsoli Chrome !
(testowane na Chrome 17)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-28 14:58:58
Odpowiedź na ten post była bardzo pomocna i duża oszczędność czasu. Jednak okazało się, że podczas korzystania z FontAwesome 4.50
, musiałem dodać dodatkową konfigurację dla rozszerzenia typu woff2
również jak pokazano poniżej inne żądania dla typu woff2
dawały błąd 404 w narzędziach programistycznych Chrome pod konsola> błędy.
Zgodnie z komentarzem S. Serp, poniższą konfigurację należy umieścić w tagu <system.webServer>
.
<staticContent>
<remove fileExtension=".woff" />
<!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<remove fileExtension=".woff2" />
<!-- In case IIS already has this mime type -->
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
</staticContent>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-01 17:46:26
Rozwiązanie dla IIS7
Również natknąłem się na ten sam problem. Myślę, że zrobienie tej konfiguracji z poziomu serwera byłoby lepsze, ponieważ dotyczy to wszystkich stron internetowych.
-
Przejdź do IIS root node i kliknij dwukrotnie "typy MIME" Opcja konfiguracji
Kliknij łącze "Dodaj" w panelu Operacje w prawym górnym rogu.
Spowoduje to wywołanie okna dialogowego. Add .rozszerzenie pliku woff i określ "application / x-font-WOFF" as odpowiedni typ MIME.
Dodaj typ MIME dla .rozszerzenie nazwy pliku WOFF
Oto co zrobiłem, aby rozwiązać problem w IIS 7
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-31 02:25:10
Uruchom Menedżera serwera IIS (uruchom polecenie: inetmgr) Otwórz typy Mime i dodaj następujące
Rozszerzenie nazwy pliku: .woff
Typ MIME : application / octet-stream
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-11 08:39:36
Oprócz odpowiedzi Iana, musiałem zezwolić rozszerzeniom czcionek w module filtrowania żądań, aby to działało.
<system.webServer>
<staticContent>
<remove fileExtension=".woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff" />
</staticContent>
<security>
<requestFiltering>
<fileExtensions>
<add fileExtension=".woff" allowed="true" />
<add fileExtension=".ttf" allowed="true" />
<add fileExtension=".woff2" allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 09:16:10
Próbowałem wielu rzeczy wokół uprawnień, typów mime, itp., ale dla mnie skończyło się na tym, że sieć.config usunął obsługę plików statycznych w IIS, a następnie wyraźnie dodał ją z powrotem dla katalogów, które mają pliki statyczne. Gdy tylko dodałem węzeł lokalizacji do mojego katalogu i dodałem z powrotem obsługę, żądania przestały otrzymywać 404s.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-11 15:36:44
Jeśli używasz CodeIgniter pod IIS7:
W sieci.plik konfiguracyjny, dodaj woff do wzorca
<rule name="Rewrite CI Index">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="css|js|jpg|jpeg|png|gif|ico|htm|html|woff" negate="true" />
</conditions>
<action type="Rewrite" url="index.php/{R:0}" />
</rule>
Mam nadzieję, że to pomoże !Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-14 11:13:06
Rozwiązany:
Musiałem użyć metody Mo ' Bulletproofer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-25 15:27:44
To może być oczywiste, ale to potknęło mnie z 404s wiele razy... Upewnij się, że uprawnienia folderu czcionki są ustawione poprawnie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-19 18:24:25
Sprawdź również swój URL rewriter. Może rzucić 404, jeśli coś" dziwnego " zostało znalezione.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-29 16:13:17
Jeśli nie masz dostępu do konfiguracji serwera www, możesz również zmienić nazwę pliku czcionki tak, aby kończył się na svg(ale zachowaj format). Działa dobrze dla mnie w Chrome i Firefox.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-19 11:30:38
Jeśli nadal nie działa po dodaniu typów MIME, sprawdź, czy "uwierzytelnianie anonimowe" jest włączone w sekcji Uwierzytelnianie w witrynie i upewnij się, że wybierzesz "tożsamość puli aplikacji" zgodnie z danym zrzutem ekranu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-09 11:05:48
IIS typ Mime: .WOFF font/x-WOFF (nie application/x-WOFF, lub application/x-font-WOFF)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-05 13:33:36