close

這兩天發生一件怪事,我在開發環境中明明能夠正常運作的頁面,送到 server 上只有 IE 能正常瀏覽、Firefox 下,所連結的外部樣式表完全不見。

首先懷疑的就是路徑問題,但若是路徑異常應該 IE 也無法顯示才是。第二個考慮的是編碼,但看起來 *.css 編碼都正常、裡面也沒有不可見的奇怪字元。最後想到的是 MIME 類型。之所以最後一個才懷疑它,是因為我以為 CSS 是一種很尋常的 type,應該預設值裡就有、不須另行設定。

在 Google 找了 MIME、CSS、IIS 這幾個關鍵字,很快的查到了 "MozillaCssMimeType"、以及標題就點清問題的 "IIS 6 Does not Know What a CSS File Is (Missing MIME Types)"

因此只要在 IIS 的網站→「內容」→「HTTP 標頭」→「MIME 對應」的「檔案類型」,設定副檔名為 .css、內容類型 (MIME) 為 text/css,就可以解決這個問題了。

在 Apache 下遇到這種問題,則是修改 mime.types 檔案,加上「text/css    css」,詳情可以參考 "MozillaCssMimeType" 一文。

話說在 IIS 5.1 沒遇到這個問題,反而是在 IIS 6 碰上,還是生平頭一遭。以此為記,希望下次再遇到不要慌了手腳。

arrow
arrow
    全站熱搜

    小攻城師 發表在 痞客邦 留言(4) 人氣()