@Font -Face не загружается через https в IE

EDIT 23-06-2012 10:24 (CET):Нашел ответ

Взгляните на нижний ответ. Это то, что решило проблему для меня. IE9 теперь правильно отрисовывает. В IE8 немного другой шрифт. Не уверен, что шрифт, но выглядит "ОК".

Original Question:

Я боролся с этим уже несколько часов. Для одного из наших клиентов мы разработали интернет-магазин и разрабатывали его по обычному незащищенному http-соединению. Два дня назад мы установили SSL-сертификат на домен и заставили каждое соединение с веб-сайтом проходить через домен https с использованием.htaccess

. Но по какой-то причине IE (без версии )отображает шрифт, который мы указали в CSS, используя @Font -Face. Вот один из кодов, которые мы используем для шрифтов:

@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;
}

Как видите, я использую полную ссылку на шрифты, включая https. Я попытался переместить файлы в корень домена, чтобы они соответствовали домену SSL-сертификатов. Я также пытался использовать относительные пути из CSS, но это тоже не сработало.

Все шрифты находятся в домене, ни один из них не является междоменным -.

Я наткнулся на 2 других сообщения здесь, на SO, описывающих аналогичные проблемы, один из которых не был решен, другой был, но это не похоже на ту же проблему. В этом случае автору вопроса пришлось добавить заголовки Access -Control -Allow -Origin к файловым запросам woff/ttf/otf/svg. Я также добавил эти заголовки в свой.htaccess просто для уверенности:

<FilesMatch "\.(woff|ttf|otf|svg)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
    </IfModule>
</FilesMatch>

У меня заканчиваются варианты и мысли. Я не сервер -, конфигурация -, тип -из -, но больше увлекаюсь PHP/MySQL/jQuery, поэтому я думаю, что мои мысли довольно ограничены по сравнению с другими здесь, на SO.

Если у кого-то есть вариант, который стоит попробовать, просто дайте мне знать!

UPDATE 22-06-2012:

Если я изменю https на http и обновлю страницу в IE, мне будет предложено сообщение о том, что существует незащищенный контент -, и у меня есть возможность принять этот контент. Если я выберу «ДА», мой контент будет загружен, и... шрифт будет доступен! Yay.. Однако.. если я верну его обратно на https, шрифты снова исчезнут.

Не уверен, что я могу узнать из этого (лол ), но, может быть, это даст кому-нибудь небольшое представление..

UPDATE 22-06-2012 #2:

До сих пор я пробовал:

url ('//protocol/relative/font.eot' ); URL-адрес ('../file/relative/font.eot' ); url ('/domain/relative/font.eot' ); URL-адрес ('https://www.secure.tld/font.eot'); URL-адрес ('http://www.normal.tld/font.eot'); (работает, но со всплывающим окном «Содержит незащищенные элементы в IE)

Я также попытался создать rewriterule, заставляющий FilesMatch (woff, ttf, otf, eot, svg )использовать http :// соединение. Это не сработало, как я думал, и я понятия не имею, сработало ли оно вообще..

Я также добавил это:

AddType application/vnd.ms-fontobject.eot
AddType font/truetype.ttf
AddType font/opentype.otf
AddType font/opentype.woff
AddType image/svg+xml.svg.svgz

В папку, содержащую шрифты (в файлах.htaccess, конечно ), а также в основном файле.htaccess.

Кроме того, я попытался удалить логин htpasswd, это была дикая догадка, но ничего не изменилось.

UPDATE 23-06-2012:

Проверил журналы сервера DirectAdmin. Очевидно, IE запрашивает шрифты (Я вижу файл eot со знаком вопроса, я предполагаю, что это eot с запрашиваемыми iefix и woff ). Все, что запрошено, также получает ответ заголовка 200 OK, который не делает вещи более ясными для меня..

Все еще ищу и ищу, что может вызвать эту проблему..

Кроме того, на основе «Журнала консоли F12» -в IE. Я ясно вижу, что шрифты запрашиваются -через https -с ответом 200 OK. Странно то, что я вижу только 3 из 4 шрифтов, которые я использую, но, возможно, 4-й не используется на главной странице.

12
задан Joshua - Pendo 23 June 2012 в 08:25
поделиться