跨域字體嵌入:為什麼只能在同一域上?
您正在嘗試為您的網站建立字體儲存庫,使用@font-face聲明。您已在子網域上為每種字體設定了資料夾,並建立了一個包含字體絕對連結的 font-face.css 文件,並確認它已成功載入。但是,這些字體未顯示在您的其他網站上。
問題:
Firefox 限制跨域字體嵌入,包括子域。這是一項安全措施,旨在防止未經授權存取其他網站的字體。
解決方案:
要在子網域上啟用跨域字體嵌入,請新增以下內容程式碼片段到該子網域的.htaccess 檔:
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
此程式碼允許任何網站存取透過將Access-Control-Allow-Origin標頭設定為“*”來建立您的子網域。
關於存取控制:
雖然W3C 規範允許使用通配符或Access-Control-Allow-Origin 的特定領域,它沒有提供驗證Origin 標頭的明確機制。目前,上述解決方案應該允許從所有網站進行存取。
以上是為什麼我無法在其他網站上嵌入我的子網域中的字體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!