EDIT 23-06-2012 10:24 (CET)
:找到答案@ Font-Face不會通過https載入IE
請看底部的答案。這是爲我解決了這個問題。 IE9現在正在呈現正確的方式。 IE8有一個略有不同的字體。不知道什麼字體,但它看起來「確定」。
Original Question:
我一直在苦苦掙扎與此數小時。對於我們的一個客戶,我們設計了一個網上商店,並且正在通過一個normale不安全的http連接開發這個網站。自2天前以來,我們在域上安裝了SSL證書,並強制與網站的每個連接都通過https域名進行訪問.htaccess
但是,由於某種原因,IE(無版本)呈現了我們的字體已使用@ Font-Face在CSS中指定。以下是我們用於字體的代碼:
@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內的相對路徑,但這也不起作用。
所有字體都在域中,它們都不是跨域的。
我在這裏發現了另外兩篇關於SO的文章,描述了類似的問題,其中一個沒有解決,另外一個是,但它似乎並不是同一個問題。在這種情況下,問題的作者必須將訪問控制允許源頭添加到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的頁面,我被提示的信息是有不安全的內容,我不得不接受這個內容的選項。如果我選擇'是',我的內容正在加載中......字體可用!耶..然而..如果我改回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
向含有字體(在ofcourse一個.htaccess文件)的文件夾藏漢作爲主.htaccess文件。
此外,我試圖刪除htpasswd登錄,這是一個瘋狂的猜測,但也沒有改變一件事。
UPDATE 23-06-2012
:
經過該管理嚮導服務器日誌..顯然IE請求的字體(我看到一個EOT文件與問號,我猜這是被請求iefix和WOFF的EOT)。真實要求,一切也越來越200 OK標頭響應,這不是刁難我更加清楚..
還在尋找,尋找什麼可能導致這個問題..
此外,基於「 F12控制檯日誌「 - 在IE中很好。我可以清楚地看到字體正在被請求 - 在https上 - 有200 OK響應。奇怪的是,我只看到了我使用的4種字體中的3種,但可能第4種並未在主頁上使用。
我想不出任何特定的東西,但是您是否嘗試過沒有域或URL [協議相對URL](http://paulirish.com/2010/the-protocol-relative-url/)的URL? – RoToRa
還沒有嘗試協議相關的URL,將嘗試。沒有域或相對於CSS的URL會被嘗試並且不能正常工作 –
您是否可以找出正在加載的文件,例如Fiddler? – RoToRa