EDIT 23-06-2012 10:24 (CET)
: Znaleziono odpowiedź@ font-face nie będzie ładować za pośrednictwem protokołu HTTPS w IE
Spójrz na dole odpowiedź. To właśnie naprawiło problem. IE9 renderuje teraz właściwą drogę. IE8 ma nieco inną czcionkę. Nie wiem, która czcionka, ale wygląda "OK".
Original Question:
mam zmaga się z tym przez kilka godzin teraz. Dla jednego z naszych klientów zaprojektowaliśmy sklep internetowy i rozwijaliśmy go poprzez normalne, niezabezpieczone połączenie http. Od 2 dni instalujemy certyfikat SSL w domenie i wymuszamy każde połączenie z witryną, aby przejść przez domenę https przy użyciu .htaccess
Jednak z jakiegoś powodu IE (bez wersji) renderuje czcionkę Określono w CSS za pomocą @ Font-Face. Oto na kodów używamy dla czcionek:
@font-face {
font-family: 'ProximaNovaLight';
src: url('https://www.bijouterieyvette.com/font-face/proximanova-light-webfont.eot');
src: url('https://www.bijouterieyvette.com/font-face/proximanova-light-webfont.eot?#iefix') format('embedded-opentype'),
url('https://www.bijouterieyvette.com/font-face/proximanova-light-webfont.woff') format('woff'),
url('https://www.bijouterieyvette.com/font-face/proximanova-light-webfont.ttf') format('truetype'),
url('https://www.bijouterieyvette.com/font-face/proximanova-light-webfont.svg#ProximaNovaLight') format('svg');
font-weight: normal;
font-style: normal;
}
Jak widać używam pełny link do czcionek tym https. Próbowałem przenieść pliki do katalogu głównego domeny, aby dopasować domenę certyfikatów SSL. Próbowałem również użyć względnych ścieżek z poziomu CSS, ale także to nie zadziałało.
Wszystkie czcionki znajdują się w domenie, żadna z nich nie jest w domenie.
Natknąłem się na 2 inne posty tutaj na SO opisujące podobne problemy, jeden z nich nie został rozwiązany, drugi był, ale nie wydawał się być ten sam problem. W tym przypadku autor pytania musiał dodać nagłówki Access-Control-Allow-Origin do żądań plików woff/ttf/otf/svg. Dodałem te nagłówki do mojego pliku .htaccess, aby się upewnić:
<FilesMatch "\.(woff|ttf|otf|svg)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
Wyczerpany rodzaj opcji. Nie jestem typem serwerowym, ale bardziej w PHP/MySQL/jQuery, więc myślę, że moje myśli są raczej ograniczone w porównaniu do innych tutaj na SO.
Jeśli ktoś ma opcję, która jest warta wypróbowania, daj mi znać!
UPDATE 22-06-2012
:
Jeśli zmienię https do http i odśwież stronę w IE, jestem potwierdzeniu z wiadomością, że jest niezabezpieczony zawartość i mam opcję, aby zaakceptować tę zawartość. Jeśli wybiorę "TAK", moje treści są ładowane i ... czcionka jest dostępna !! Yay .. Jednak .. jeśli zmienię go z powrotem na https, czcionki znikną ponownie.
Nie wiem, czego mogę się nauczyć od tego (lol), ale może to daje każdemu trochę pojęcia ..
UPDATE 22-06-2012 #2
:
tej pory próbowałem:
url ('/ /protocol/relative/font.eot "); url ("../ plik/relacja/font.eot"); adres URL ("/ domain/relative/font.eot"); adres URL ("https: //www.secure.tld/font.eot"); adres URL ("http: //www.normal.tld/font.eot"); (działa, ale z wyskakującym okienkiem "Zawierające niezabezpieczone elementy w IE)
Próbowałem także stworzyć przepisanie wymuszające na plikach FilesMatch (woff, ttf, otf, eot, svg) połączenie http: //. działa tak jak myślałem i nie mam pojęcia, czy coś w ogóle zrobiło ...
Dodałem również to:
AddType application/vnd.ms-fontobject .eot
AddType font/truetype .ttf
AddType font/opentype .otf
AddType font/opentype .woff
AddType image/svg+xml .svg .svgz
do folderu zawierającego czcionki (w plikach .htaccess oczywiście) aswell jak w głównym pliku .htaccess.
Poza tym próbowałem usunąć login htpasswd, było to dzikie domysły, ale też niczego nie zmieniłem.
UPDATE 23-06-2012
:
sprawdzone logi serwera DirectAdmin .. widocznie IE żąda czcionek (widzę plik EOT z questionmark, zgaduję to EOT z iefix i WOFF jest wymagane). Wszystko, co wymagane jest również uzyskanie odpowiedzi 200 OK nagłówka, który nie jest tworzenie rzeczy bardziej jasne dla mnie ..
Wciąż szuka i szuka tego, co może być przyczyną tego problemu ..
Ponadto, w oparciu o " F12 Console Log "-wszystko w IE. Mogę wyraźnie zobaczyć, że żądane są czcionki - na https- z odpowiedzią 200 OK. Dziwne jest to, że widzę tylko 3 z 4 czcionek, których używam, ale możliwe, że czwarty nie jest używany na stronie głównej.
Nie mogę wymyślić nic konkretnego, ale czy próbowałeś adresów URL bez domeny lub [protokołu względnych adresów URL] (http://paulirish.com/2010/the-protocol-relative-url/)? – RoToRa
Jeszcze nie próbowałem adresów URL zależnych od protokołu, spróbuję. Adresy URL bez domeny lub względem CSS są wypróbowane i nie działały niefortunnie. –
Czy możesz dowiedzieć się, że plik jest ładowany, na przykład z Fiddler? – RoToRa