解決Web部署 svg/woff/woff2字體 404錯誤

網站發佈到IIS後,發現網站使用的Bootstrap框架所引用的woff字體沒法正常顯示。因而跟蹤http請求,發現woff字體請求出現GET .woff 404 (Not Found)的問題,可是項目中woff字體的文件並未丟失。後經排查,原來是服務器上IIS沒有添加woff字體的MIME類型,致使發送HTTP請求時,IIS沒法處理和識別此類型的文件。html

解決方法1:在Web.config配置文件中添加woff字體的MIME類型 web

解放方法2:在IIS中添加woff字體的MIME類型 
woff字體簡介 
MIME類型簡介 瀏覽器

解決方法一:在Web.config配置文件中添加woff字體的MIME類型服務器

若是網站是使用ASP.NET 或者ASP.NET MVC 編寫的,能夠很方便的直接使用配置文件進行woff字體的配置。只要在Web.config中的system.webServer節點添加下面的配置能夠了。app

 <system.webServer> 
 <staticContent>
  <remove fileExtension=".woff" />
  <mimeMap fileExtension=".woff" mimeType="font/x-font-woff" />  
 </staticContent>
 </system.webServer>

這裏要注意下的是這個配置,添加此節點是防止出現這個錯誤:「在惟一密鑰屬性「fileExtension」設置爲「.woff」時,沒法添加類型爲「mimeMap」的重複集合項」,這個問題能夠點擊此連接查看解決方法。若是隻添加下面的這個節點,並且沒有報這個錯誤的話,remove節點能夠不用添加。另外」font/x-font-woff」是woff字體的MIME類型值。框架

將該節點添加到網站的配置文件後,在從新打開網站便可正常顯示woff字體。此方法可用於沒有權限操做IIS管理器的時候做爲解決方案。svg

解放方案二:在IIS中添加woff字體的MIME類型字體

若是能夠直接操做IIS管理器的話,也能夠直接在IIS上添加woff字體的mime type。只要打開當前的IIS,打開MIME類型的配置,最後添加一個新的MIME類型就能夠了,這裏woff字體的擴展名是.woff, MIME類型爲:」font/x-font-woff「。具體操做以下所示:網站

打開控制面板中的IIS管理器,選擇當前IIS,打開MIME類型配置;加密

在IIS中添加.woff截圖;

點擊MIME類型右邊操做的欄的添加功能;

添加.woff的MIME類型截圖;

彈出的添加MIME類型對話框中,文件擴展名填寫.woff,MIME類型可填寫 font/x-font-woff 或者application/x-font-woff;

設置文件擴展名和類型;

點擊肯定後成功添加了.woff擴展名的MIMI TYPE,如今打開網站請求WOFF字體就不會出現404 NOT FOUND錯誤了。

woff字體簡介

Web開放字體格式(Web Open Font Format,簡稱WOFF) 是一種網頁所採用的字體格式標準。此字體格式發展於2009年,如今正由萬維網聯盟的Web字體工做小組標準化,以求成爲推薦標準。此字體格式不但可以有效利用壓縮來減小檔案大小,而且不包含加密也不受DRM(數位著做權管理)限制。

在2010年4月8日,Mozilla基金會、Opera軟件公司和微軟提交WOFF以後,萬維網聯盟發表評論指,但願WOFF不久能成爲全部瀏覽器都支持的、「單1、可互操做的(字體)格式」。[6]2010年7月27日,萬維網聯盟將WOFF做爲工做草案發布。

WOFF的MIME類型是:application/x-font-woff(font/x-font-woff也能夠),目前的IIS7裏面默認沒有這個MIME類型,若是要讓網站支持這個,請在IIS7裏面的MIME類型裏面添加woff。

MIME類型簡介

MIME(Multipurpose Internet Mail Extensions)多用途互聯網郵件擴展類型,既設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問的時候,瀏覽器會自動使用指定應用程序來打開。多用於指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。

文件擴展名      MIME類型 

.svg             image/svg+xmz

​.woff            application/x-font-woff

​.woff2          application/x-font-woff

相關文章
相關標籤/搜索