2017-07-03 63 views
0

我有一個網頁已經被賦予憲法的FONT-FAMILY一些文字:取消狀態阻塞字體下載

enter image description here

這種字體是從foundary下載,並與定義的頁面@字體面: enter image description here

當頁面呈現時,瀏覽器熄滅的字體,但該請求被阻止的取消和文本沒有得到FONT-FAMILY應用:

enter image description here

有沒有人知道什麼可能會導致此取消?這曾經工作,我無法想象我做了什麼或發生了什麼打破它。

感謝您的任何幫助。

+0

= ASCII系列化是否有控制檯報告的錯誤?這是'Constitution.ttf'部署在不同的域? – shaochuancs

+0

是的!錯誤是:「訪問來自http:// example.com的https://example.com/fonts/Constitution.ttf中的字體已被CORS策略阻止。」Access-Control-Allow-Origin「標題包含多個值:'http:// example.com','https:// example.com',但只有一個值是允許的,因此'http:// example.com'不允許訪問。「謝謝!解決這個問題的最好方法是什麼? – Steve

+0

應該只有一個'Access-Control-Allow-Origin'頭只有一個原點(或通配符)。我想這是由於在服務器配置中意外添加了額外的'Access-Control-Allow-Origin'頭部引起的。請檢查我的答案。 – shaochuancs

回答

1

Access-Control-Allow-Origin標題僅包含一個原點或通配符(*)。

你的問題的評論中提到的錯誤(以下簡稱「‘訪問控制允許來源’報頭包含多個值...但只允許有一個」)清楚地表明,有在Access-Control-Allow-Origin頭多個值,或有多個Access-Control-Allow-Origin標題。

要解決這個問題,應該只有一個Access-Control-Allow-Origin標題,只有一個原始值。


正如問題中提到的:「這曾經工作」。我想這個問題是由於在服務器配置中無意中添加了額外的Access-Control-Allow-Origin標頭。


作爲參考,請檢查W3C specification

資源可以具有一個訪問控制允許來源頭中定義。標題必須與以下ABNF相匹配:

訪問控制允許來源=「訪問控制允許來源」「」ascii-origin | 「*」

ASCII的起源原點

+0

我使用mod_rewrite修復了這個問題,將非HTTPS請求發送給HTTPS。但我很好奇,如果我想允許HTTP和HTTPS訪問,我將如何修復它。我從來沒有在代碼中指定過一個Accedd-Control-Allow-Origin頭文件,所以如何設置它,以及如何修改它?謝謝 – Steve

+0

@Steve我猜'http:// example.com'承載網頁。在這種情況下,你只需要在'Access-Control-Allow-Origin'頭中加入'https:// example.com'。如果'https:// example.com'承載網頁,則將'http:// example.com'放入'Access-Control-Allow-Origin'標頭中。否則,只需使用'*'。 – shaochuancs

+0

如果您從未指定'Access-Control-Allow-Origin',我的猜測是:它由某個模塊/插件設置... – shaochuancs