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-й не используется на главной странице.