Dot-Net

@font-face 在 localhost 上工作正常,但在 AppHarbor 中不行

  • January 20, 2014

我在通過 AppHarbor 託管我的應用程序時遇到問題。我有一個基於 .net MVC 3 的基本應用程序。在這個應用程序中,我使用了 @font-face 屬性以自定義字型顯示內容:

@font-face {
font-family: facefont;
src: url("raleway_thin.otf");
} 
body {    
font-size: .85em;
font-family: "facefont", Verdana, Helvetica, Sans-Serif;
margin: 0;
padding: 0;
color: #696969;
}

當我在 loaclhost 中通過我的開發伺服器執行此應用程序時,一切正常,內容以自定義字型顯示。但是當我在這裡將我的 webapp 推送到 AppHarbor 時:

通過 AppHarbor 測試應用程序

它不再以我在 .css 中使用的自定義字型顯示內容。我對此感到困惑,因為我使用相同的瀏覽器(Chrome 15.0)來查看兩者,但它們給出了不同的結果。

請幫忙。


我剛剛發現這只發生在字型檔中

$$ *.otf, *.ttf $$..我把一個圖像放在同一個文件夾中,它被完美地添加了,但它再次未能獲取字型檔並在其上顯示 404。


還完成了配置 mimeTypes:

<staticContent>
       <mimeMap fileExtension=".otf" mimeType="font/otf" />
       <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
   </staticContent>

您的樣式表在您的頁面引用它的位置不可用。此網址提供 500:http ://testapp-216.apphb.com/Content/Site.css

您應該驗證 AppHarbor 是否部署了相關的 .css 和字型檔。這很容易通過從 AppHarbor 下載建構輸出包並檢查其內容來完成。如果它不存在,您很可能需要在項目文件參考中將“建構操作”設置為“內容”。

正確配置 mimetypes 也很重要。

(免責聲明,我是 AppHarbor 的聯合創始人)

為了將“.woff”格式字型部署到 Appharbor,我必須做兩件事:

1:在我的 Visual Studio 項目中包含字型,確保它的“建構”屬性設置為“內容”(如上面@Korayem 所述)

2:將以下配置添加到 Web.config:

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

引用自:https://stackoverflow.com/questions/8050641