Dodałem te zasady do mime.types
:
application/x-font-ttf ttf;
font/opentype otf;
application/vnd.ms-fontobject eot;
font/x-woff woff;
Teraz nagłówek Content-Type jest ustawiany poprawnie dla każdego z nich. Moim jedynym problemem jest to, że Firefox wymaga Access-Control-Allow-Origin. Przeszukałem tę odpowiedź i dodałem ją do mojej dyrektywy serwerowej:
location ~* \.(eot|ttf|woff)$ {
add_header Access-Control-Allow-Origin *;
}
ale teraz moje czcionki w ogóle nie są wyświetlane.
Zamiast tego error.log
raporty, że próbuje je otworzyć w lokalnym systemie plików.
2010/10/02 22:20:21 [błąd] 1641 # 0: * 15 open () "/usr/local/nginx/html/fonts/mgopenmodernabold-webfont.woff" nie powiodło się (2: Brak takiego pliku lub katalogu) , klient: 69.164.216.142, serwer: static.arounds.org, żądanie: „HEAD /fonts/mgopenmodernabold-webfont.woff HTTP / 1.1”, host: „static.arounds.org”
Wszelkie pomysły, co może być nie tak ze składnią? Czy muszę jawnie dodać regułę mówiącą, nie próbuj otwierać jej lokalnie?
EDYCJA : Myślę, że problem polega na tym, że obsługuję teraz 2 różne lokalizacje. I zamiast tego powinienem sprawdzić wyrażenie regularne w głównym, a następnie nakarmić nagłówek.
źródło
Odpowiedzi:
Woot! Rozumiem .. To było prawie to, co podejrzewałem w mojej edycji, musiałem w zasadzie sprawdzić nazwę pliku wyrażenia regularnego w mojej podeszwie
location {}
zamiast tworzyć alternatywną.źródło
źródło
Wszystkie aktywa
Dzięki temu wszystkie zasoby będą działać poprawnie. Możesz dodać,
root
jeśli chcesz zdefiniować nową lokalizacjęźródło
inne rozwiązanie: umieść na przykład wszystkie czcionki
static/fonts
i dodajźródło