2012-04-28 54 views
26

Possible Duplicate:
@font-face not working on a client site?CSS定義的字體沒有找到

我在這個文件夾結構下面的字體文件在我的ASP.Net MVC的Web應用程序:

- [根]

| - 公共

|| --fonts

||| --NuvoWeb-Medi.eot

||| --NuvoWeb-Medi.woff

在我的CSS文件,我有以下的字體聲明:

@font-face 
{ 
    font-family: NuvoWeb; 
    src: url(/Public/fonts/NuvoWeb-Medi.eot); 
} 
@font-face 
{ 
    font-family: NuvoWeb; 
    src: url(/Public/fonts/NuvoWeb-Medi.woff) format('woff'); 
} 

然而,當我運行應用程序,螢火蟲返回以下錯誤:

"NetworkError: 404 Not Found - http://localhost:60194/Public/fonts/NuvoWeb-Medi.woff "

請告訴我缺少什麼才能使其工作。

+1

您是否試圖訪問此網址?也許沒有文件? – 2012-04-28 06:46:38

+0

正如我所說的,我在指定的文件夾結構中有這些文件;當我在Windows資源管理器中打開文件夾時,它們肯定存在。如果我點擊鏈接,我會得到以下回應:HTTP錯誤404.3 - 未找到 由於擴展配置,您請求的頁面無法投放。如果頁面是腳本,請添加處理程序。如果文件應該被下載,添加一個MIME映射。 – 2012-04-28 06:53:03

+0

因此,文件在文件夾中,但不是由服務器提供的?這是一個服務器問題,而不是CSS,對嗎? – 2012-04-28 07:50:35

回答

66

找到了解決辦法here ...

的問題是,IIS不知道如何除非我們告訴它如何爲這些新文件。這可以在web.config的加入下面的代碼片段很容易做到在web.config的<system.webServer>部分:

<staticContent> 
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> 
    <mimeMap fileExtension=".m4v" mimeType="video/m4v" /> 
    <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> 
    <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> 
    <mimeMap fileExtension=".webm" mimeType="video/webm" /> 
    <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> 
    <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> 
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> 
    <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> 
    <remove fileExtension=".eot" /> 
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> 
    <mimeMap fileExtension=".otf" mimeType="font/otf" /> 
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" /> 
</staticContent> 

注意,某些擴展可能已經在IIS處理(對我來說,.SVG是罰款)。您可能需要從本節刪除這些地圖,或者包含額外的<remove>行,例如.eot。

+1

出於某種原因,將這些添加到我的web.config中,託管在Rackspace Cloud中的站點會破壞我的所有CSS,就好像CSS文件不再被識別一樣。任何線索爲什麼會發生? – 2012-12-19 16:21:01

+0

這是人們的日子。出於某種原因,我試圖爲OTF文件添加文件處理程序規則。 – 2013-09-08 21:29:25

+2

感謝您的幫助! – 2013-12-23 20:37:59

2

公用文件夾(此處的CSS)--->

@font-face 
{ 
    font-family: 'NuvoWeb'; 
    src: url(fonts/NuvoWeb-Medi.eot); 
} 

你錯過了報價符號FONT-FAMILY字體文件夾(字體這裏-NuvoWeb-Medi.eot): 'NuvoWeb';

7

web.config註冊的MIME類型如下:

<system.webServer> 
    <staticContent> 
     <remove fileExtension=".eot" /> 
     <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> 
    </staticContent> 
</system.webServer> 

這解決了問題。

+0

如果你可以在我這裏,那麼請告訴我通過ftp更新web.config的方式。我是新的IIS服務器。或者請告訴我,「我能做到嗎?還是需要問我的網站託管支持?」 – 2014-03-04 18:09:09