Iis-7

IIS 忽略 mime 類型設置並將文件作為應用程序/八位字節流提供

  • August 18, 2014

我們在 web.config 中為 IIS 添加了處理程序和 mime-types,以告訴伺服器如何處理我們在站點上使用的不同類型的音頻和影片文件。IIS 似乎並不尊重這些 mime 類型,而是通過應用程序/八位字節流(這是“未知”文件類型的預設設置)恢復為它們提供服務。

這些文件在本地開發環境中正確提供,但在 QA 和 Prod 伺服器上,即使使用完全相同的設置(並通過檢查 IIS 中顯示的 mime 類型進行驗證),文件也無法正確提供。

關於如何進行的任何想法?我們已經用盡了大部分基本想法,並多次比較了從開發人員到 QA 的配置和系統設置。

程式碼範例:

<remove fileExtension=".mp4" />`
<mimeMap fileExtension=".mp4" mimeType="video/mp4" />`

顯然你不能像這樣在位置標籤甚至你的 web.config 中覆蓋它:

<staticContent>
 <mimeMap fileExtension="woff" mimeType="application/x-font-woff" />
 <remove fileExtension="ogg"/>
 <remove fileExtension="mp4"/>
 <remove fileExtension="webm"/>
 <mimeMap fileExtension="ogg" mimeType="video/ogg" />
 <mimeMap fileExtension="webm" mimeType="video/webm" />
 <mimeMap fileExtension="mp4" mimeType="video/mp4" />
</staticContent>

相反,我不得不在 GUI 中的 mime 類型下添加 .mp4(這似乎根本沒有改變 web.config)作為本地定義:

iis GUI 中的 mp4 mime 類型

經 fiddler 確認,.mp4 現在以 video/mp4 的內容類型提供服務(即使之前定義了 staticContent 標籤)

引用自:https://serverfault.com/questions/543602