Apache HTTP Server 版本 2.4
說明 | 將所要求的檔名副檔名與檔案的行為 (處理器和篩選器) 及內容 (mime 類型、語言、字元集和編碼) 關聯 |
---|---|
狀態 | 基本 |
模組識別碼 | mime_module |
原始檔案 | mod_mime.c |
此模組用於將中繼資料指派給 HTTP 回應中所選取的內容,方法是將 URI 或檔名中的模式對應至中繼資料值。例如,內容檔案的檔名副檔名通常會定義內容的網際網路媒體類型、語言、字元集和內容編碼。這類資訊會傳送在包含該內容的 HTTP 訊息中,並在內容協商中用於選取替代方案,以便讓使用者的偏好在從數個可能的內容中選擇時受到重視。關於 內容協商 的詳細資訊,請參閱 mod_negotiation
。
指令 AddCharset
、AddEncoding
、AddLanguage
和 AddType
都用於將檔案副檔名對應至該檔案的中繼資料上。它們會分別設定文件的字元集、內容編碼、內容語言以及 媒體類型 (內容類型)。指令 TypesConfig
用於指定一個檔案,該檔案同樣會將副檔名對應至媒體類型。
此外,mod_mime
可以定義 處理器 和產生及處理內容的 篩選器。指令 AddHandler
、AddOutputFilter
和 AddInputFilter
會控制處理文件的模組或指令碼。指令 MultiviewsMatch
允許 mod_negotiation
考慮在測試 Multiviews 是否符合時納入這些檔案副檔名。
在 mod_mime
將檔案副檔名與其相關資訊進行配對的同時,core
伺服器會提供指令,用於將給定容器(例如 <Location>
、<Directory>
或 <Files>
)中的所有檔案與其相關資訊進行配對。這些指令包括:ForceType
、SetHandler
、SetInputFilter
和 SetOutputFilter
。核心指令會覆寫 mod_mime
中定義的任何檔案副檔名對應。
請注意,變更檔案的相關資訊並不會變更 Last-Modified
資訊標頭。因此,客戶端或代理伺服器仍然可能使用先前暫存的副本與其對應的資訊標頭。如果您變更了相關資訊(語言、內容類型、字元集或編碼),您可能需要「觸碰」已受到影響的檔案(更新其最後修正日期),以確保所有訪客都能收到正確的內容標頭。
檔案可以擁有多個副檔名,副檔名的順序通常無關緊要。例如,如果檔案welcome.html.fr
對應到內容類型text/html
及法語,那麼檔案welcome.fr.html
將對應到完全相同的資訊。如果有多個副檔名對應到同一個類型的元資料,那麼將使用靠右的副檔名,語言和內容編碼除外。例如,如果.gif
對應到媒體類型image/gif
,且.html
對應到媒體類型text/html
,那麼檔案welcome.gif.html
將會與媒體類型text/html
關聯。
語言及內容編碼視為累積的,因為可以針對特定資源指定多種語言或編碼。例如,檔案welcome.html.en.de
將以Content-Language: en, de
及Content-Type: text/html
傳送。
如果具有多個副檔名的檔案與媒體類型和處理常式關聯,則應謹慎處理。這通常會導致請求由與處理常式關聯的模組處理。例如,如果副檔名.imap
對應到處理常式imap-file
(來自mod_imagemap
),且副檔名.html
對應到媒體類型text/html
,那麼檔案world.imap.html
將與處理常式imap-file
和媒體類型text/html
關聯。當它被處理時,將使用處理常式imap-file
,因此它將被視為mod_imagemap
圖像地圖檔案。
如果您偏好只將檔案名稱中最後的以小數點分隔的部分對應到特定元資料,那麼請勿使用Add*
指令。例如,如果您希望檔案foo.html.cgi
被處理為 CGI 腳本,但不要處理檔案bar.cgi.html
,那麼請改用如下指令,而非 AddHandler cgi-script .cgi
<FilesMatch "[^.]+\.cgi$"> SetHandler cgi-script </FilesMatch>
可以使用特定方式額外編碼特定媒體類型的檔案,以簡化透過網際網路傳送。雖然這通常是指壓縮,例如gzip
,但也可以是指加密,例如pgp
,或指編碼,例如 UU 編碼,此編碼用於在 ASCII(純文字)格式傳送二進位檔。
HTTP/1.1 RFC第 14.11 節有以下敘述
Content-Encoding 實體標頭欄位用為媒體類型的修改詞。它在存在時,其值指出已對實體主體套用哪些其他內容編碼,因此指出必須套用哪些解碼機制,才能取得 Content-Type 標頭欄位參照的媒體類型。Content-Encoding 主要用於允許壓縮文件,而不喪失其底層媒體類型的識別。
透過使用超過一種副檔名(請參閱上方有關多重副檔名的章節),您可以表示檔案屬於某種類型,且也具有某種特定的編碼方式。
例如,您可能有一個 Microsoft Word 文件,是以 pkzip 壓縮以縮小其大小。如果 .doc
副檔名與 Microsoft Word 檔案類型關聯,且 .zip
副檔名與 pkzip 檔案編碼關聯,則檔案 Resume.doc.zip
將會被辨識為使用 pkzip 壓縮的 Word 文件。
Apache 會隨著資源發送一個 Content-encoding
標頭,以告知用戶端瀏覽器有關編碼方法的資訊。
Content-encoding: pkzip
除了檔案類型及檔案編碼之外,另一個重要的資訊為特定文件的語言,以及該檔案應以何種字元集顯示。例如,文件可能以越南語或西里爾字母書寫,並應以此類型顯示。此資訊也會以 HTTP 標頭傳輸。
字元集、語言、編碼及 MIME 類型會全都用於內容協調程序(請參閱 mod_negotiation
)中,以判斷當存在多於一種字元集、語言、編碼或 MIME 類型的替代文件時,該提供給用戶端的哪份文件。與 AddCharset
、AddEncoding
、AddLanguage
和 AddType
指令(以及 MimeMagicFile
中所列出的副檔名)建立的所有檔名副檔名關聯都會參與此選擇程序。僅使用 AddHandler
、AddInputFilter
或 AddOutputFilter
指令關聯的檔名副檔名可能會使用 MultiviewsMatch
指令進行包含或排除處理。
為了傳達此進一步的資訊,Apache 可以選用發送一個 Content-Language
標頭,以指定文件的語言,並可以附加額外資訊到 Content-Type
標頭中,以表示應使用何種類型的字元集才能正確呈現這些資訊。
Content-Language: en, fr Content-Type: text/plain; charset=ISO-8859-1
語言規格是語言的兩個字母簡稱。charset
是應使用特定字元集名稱。
說明 | 將指定的檔名副檔名對應到規定的內容字元集 |
---|---|
指令格式 | AddCharset 字元集 副檔名 [副檔名] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
AddCharset
指令將指定的文件名副檔名對應到指定的內容字元集(給定字元編碼的網際網路註冊名稱)。charset 是資源的媒體類型字元集參數,其檔案名稱含有 extension。此對應新增到任何已套用中的對應,覆寫已存在的任何對應,extension 相同。
AddLanguage ja .ja AddCharset EUC-JP .euc AddCharset ISO-2022-JP .jis AddCharset SHIFT_JIS .sjis
然後文件 xxxx.ja.jis
將視為日文文件,其字元集為 ISO-2022-JP
(文件 xxxx.jis.ja
也相同)。AddCharset
指令同時可用於通知用戶端文件的字元編碼,以便能適切地詮釋和顯示文件,也能用於 內容協商,其中伺服器根據用戶端字元集偏好設定,從多個文件中傳回一個。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
說明 | 將給定檔案名稱副檔名對應到指定的編碼類型 |
---|---|
指令格式 | AddEncoding encoding extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
AddEncoding
指令將指定的檔案名稱副檔名對應到指定的 HTTP 內容編碼。encoding 是要附加到 Content-Encoding 標頭欄位值的文件 HTTP 內容編碼,其名稱以 extension 指定。此對應新增到任何已套用中的對應,覆寫已存在的任何對應,extension 相同。
AddEncoding x-gzip .gz AddEncoding x-compress .Z
這會將含有副檔名 .gz
的檔案標記為使用 x-gzip
編碼,將含有副檔名 .Z
的檔案標記為使用 x-compress
編碼。
舊版用戶端會期待 x-gzip
和 x-compress
,但標準指示它們分別等於 gzip
和 compress
。Apache 會忽略任何開頭的 x-
來比較內容編碼。當以編碼回應時,Apache 將使用用戶端要求的任何格式(例如 x-foo
或 foo
)。如果用戶端沒有特別要求特定格式,Apache 將使用 AddEncoding
指令提供的格式。簡而言之,您應該總是針對這兩個特定編碼使用 x-gzip
和 x-compress
。較新的編碼(例如 deflate
)應該指定而沒有 x-
。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
說明 | 將檔案名稱副檔名對應到指定的處理常式 |
---|---|
指令格式 | AddHandler handler-name extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
具有 extension 名稱的檔案將由指定的 handler-name 服務。此對應會新增至任何現已生效的對應,覆寫任何現已有相同 extension 的對應。例如,要以檔案副檔名 .cgi
啟用 CGI 腳本,您可能會使用
AddHandler cgi-script .cgi
只要已將其放入 httpd.conf 檔案中,任何包含 .cgi
副檔名的檔案都將被視為 CGI 程式。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
說明 | 將檔案名稱副檔名對應至將處理客戶端要求的篩選器 |
---|---|
指令格式 | AddInputFilter filter[;filter...] extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
AddInputFilter
將檔案名稱副檔名 extension 對應至將在伺服器收到時處理客戶端請求的 篩選器 和 POST 輸入。這會新增至任何其他地方定義的篩選器,包括 SetInputFilter
指令。此對應會合併到任何現已生效的對應,覆寫任何現已有相同 extension 的對應。
如果指定一個以上的 filter,它們必須按它們應該處理內容的順序以分號分隔。 filter 不分大小寫。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
說明 | 將指定的檔案名稱副檔名對應至指定的內容語言 |
---|---|
指令格式 | AddLanguage language-tag extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
AddLanguage
指令將指定的檔案名稱副檔名對應至指定的內容語言。具有檔案名稱 extension 的檔案會指派一個 HTTP Content-Language 值為 language-tag,對應於 RFC 3066 所定義的語言識別碼。此指令會覆寫任何現已有相同 extension 的對應。
AddEncoding x-compress .Z AddLanguage en .en AddLanguage fr .fr
然後文件 xxxx.en.Z
將被視為一個壓縮的英文文件 (文件 xxxx.Z.en
也會是這樣)。即使內容語言已報告給客戶端,瀏覽器也不太可能會使用此資訊。AddLanguage
指令對於 內容協商 來說比較有用,在內容協商中,伺服器會根據客戶端的語言偏好從多個文件中回傳一個檔案。
如果為同一個副檔名做出多個語言指定,會使用遇到的最後一個。亦即,對於
AddLanguage en .en AddLanguage en-gb .en AddLanguage en-us .en
具有副檔名 .en
的文件將會被視為 en-us
。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
說明 | 將檔案名稱副檔名對應至將處理伺服器回應的篩選器 |
---|---|
指令格式 | AddOutputFilter filter[;filter...] extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
指令 AddOutputFilter
會將副檔名 extension 映射至 filters,此 filter 會在回覆傳送給用戶端之前處理伺服器的回應。這會額外加入其他位置定義的 filter,包括 SetOutputFilter
和 AddOutputFilterByType
指令。此映射會合併到所有強制生效的映射中,覆寫同一個 extension 已存在的任何映射。
例如,以下組態會處理所有 .shtml
檔案,取得伺服器側包括的檔案,然後再使用 mod_deflate
壓縮輸出。
AddOutputFilter INCLUDES;DEFLATE shtml
如果指定超過一個 filter,它們必須以處理內容的順序使用分號分隔。給定 filter 參數時不區分大小寫。
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
請注意,在使用 AddOutputFilter
指令定義 filter 組時,這項定義會取代先前由 AddOutputFilter
指令建立的任何定義。
# Effective filter "DEFLATE" AddOutputFilter DEFLATE shtml <Location "/foo"> # Effective filter "INCLUDES", replacing "DEFLATE" AddOutputFilter INCLUDES shtml </Location> <Location "/bar"> # Effective filter "INCLUDES;DEFLATE", replacing "DEFLATE" AddOutputFilter INCLUDES;DEFLATE shtml </Location> <Location "/bar/baz"> # Effective filter "BUFFER", replacing "INCLUDES;DEFLATE" AddOutputFilter BUFFER shtml </Location> <Location "/bar/baz/buz"> # No effective filter, replacing "BUFFER" RemoveOutputFilter shtml </Location>
說明 | 將給定的副檔名映射到指定內容類型 |
---|---|
指令格式 | AddType media-type extension [extension] ... |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
指令 AddType
將給定的副檔名映射到指定的內容類型。 media-type 是 媒體類型,可用在包含 extension 的檔案名稱上。此映射會加入所有強制生效的映射中,覆寫同一個 extension 已存在的任何映射。
AddType
指令加入新的媒體類型,而不是變更 TypesConfig
檔案。AddType image/gif .gif
或者,要在一個指令中指定多個副檔名
AddType image/jpeg jpeg jpg jpe
extension 參數不區分大小寫,且可以加上或不加上開頭的句號來指定。檔案名稱可以有 多個副檔名,extension 參數會與每個副檔名進行比較。
類似 mod_negotiation
的 LanguagePriority
效果,可用 media-type 的 qs
予以達成。
AddType application/rss+xml;qs=0.8 .xml
這可用於下列情況,例如當要求 Accept: */*
的用戶端實際上無法處理伺服器回傳的內容時。
此指令會主要組態從檔案系統提供的靜態檔案所產生的內容類型。對於靜態檔案之外的資源,回應產生程式通常會指定內容類型,此指令沒有作用。
如果沒有為要求明確設定處理程式,指定的內容類型也會做為處理程式名稱使用。
當 SetHandler
或 AddHandler
等明確指令不適用於目前要求時,這些指令通常設定的內部處理程式名稱會設定為此指令指定的內容類型。
這是一個歷史行爲,某些第三方模組 (例如 mod_php) 可能會用它來負責比對要求。
應該避免依賴此類「合成」型態的設定檔。此外,限制存取 SetHandler
或 AddHandler
的設定檔也應該同時限制存取這個指令。
說明 | 定義預設語言標籤,供傳送在目前情境下所有未透過其他方式指定語言標籤的資源之 Content-Language 欄位標頭。 |
---|---|
指令格式 | DefaultLanguage language-tag |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
DefaultLanguage
指令告訴 Apache,不具有明確語言延伸功能 (例如 AddLanguage
所設定的 .fr
或 .de
) 的、指令範圍內所有資源 (例如所有由目前 <Directory>
容器涵蓋的資源) 應指定為 language-tag 之 Content-Language。這允許完整目錄樹標記為包含荷蘭語內容,例如,而不必重新命名每個檔案。請注意,不同於使用延伸功能來指定語言,DefaultLanguage
只能指定單一語言。
如果沒有強制實施 DefaultLanguage
指令,且檔案沒有 AddLanguage
所設定的任何語言延伸功能,則不會產生 Content-Language 標頭欄位。
DefaultLanguage en
說明 | 指示 mod_mime 將 `路徑資訊` 元件視為檔名的一部分 |
---|---|
指令格式 | ModMimeUsePathInfo On|Off |
預設值 | ModMimeUsePathInfo Off |
內容 | 目錄 |
狀態 | 基本 |
模組 | mod_mime |
ModMimeUsePathInfo
指令用來結合檔名與 `路徑_資訊` URL 元件,來套用 mod_mime
的指令在要求上。預設值為 Off
- 因此,`路徑_資訊` 元件會被略過。
當您有虛擬檔案系統時建議使用此指令。
ModMimeUsePathInfo On
如果您對 /index.php/foo.shtml
提出要求,ModMimeUsePathInfo
現在會將輸入的要求視為 /index.php/foo.shtml
,而且像是 AddOutputFilter INCLUDES .shtml
的指令會新增 `INCLUDES` 篩選器至要求。若未設定 ModMimeUsePathInfo
,則不會新增 INCLUDES
篩選器。此行為會類似地套用在虛擬路徑上,例如由 <Location>
所定義的路徑。
說明 | MultiViews 搜尋比對檔案時將會納入的檔案類型 |
---|---|
指令格式 | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Handlers|Filters] |
預設值 | MultiviewsMatch NegotiatedOnly |
內容 | 伺服器設定、虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
MultiviewsMatch
允許 mod_negotiation 的 Multiviews 功能三種不同的行為。Multiviews 允許對檔案的要求,例如 index.html
,符合基本要求之後的任何協商擴充功能,例如 index.html.en
、index.html.fr
或 index.html.gz
。
NegotiatedOnly
選項提供每個基本名稱後的擴充功能都必須與已辨識的 mod_mime
擴充功能相關聯,以進行內容協商,例如 字元集、內容類型、語言或編碼。這是執行最嚴格、副作用最少的實作,也是預設行為。
若要納入與 Handler 和/或 Filters 關聯的擴充功能,請將 MultiviewsMatch
指令設定為 Handlers
、Filters
或兩個選項關鍵字。如果其他所有因素都相同,將會提供最小檔案,例如 在大小 500 位元組的 index.html.cgi
和大小 1000 位元組的 index.html.pl
之間進行決定時,在此範例中 .cgi
檔案會勝出。如果 .asis
檔案與 asis-handler
關聯,則 .asis
檔案使用者可能偏好使用 Handler 選項。
您最後可以允許 Any
擴充功能符合,即使 mod_mime
無法辨識該擴充功能。這可能會導致無法預測的結果,例如提供網頁管理者從未預期會提供的 .old 或 .bak 檔案。
例如,下列設定將允許 handlers 和 filters 參與 Multviews,但會排除未知檔案
MultiviewsMatch Handlers Filters
MultiviewsMatch
不得用於 <Location>
或 <LocationMatch>
區段。
說明 | 移除一組檔案擴充功能的所有字元集關聯 |
---|---|
指令格式 | RemoveCharset extension [extension] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveCharset
指令會移除具有指定擴充功能的檔案的所有字元集關聯。這允許子目錄中的 .htaccess
檔案復原任何從父目錄或伺服器設定檔繼承的關聯。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
RemoveCharset .html .shtml
說明 | 移除一組檔案擴充功能的所有內容編碼關聯 |
---|---|
指令格式 | RemoveEncoding extension [extension] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveEncoding
指令會移除具有指定擴充功能的檔案的所有編碼關聯。這允許子目錄中的 .htaccess
檔案復原任何從父目錄或伺服器設定檔繼承的關聯。其用處範例可能是
AddEncoding x-gzip .gz AddType text/plain .asc <Files "*.gz.asc"> RemoveEncoding .gz </Files>
導致 foo.gz
標記為使用 gzip 方法編碼,而 foo.gz.asc
標記為未編碼的純文字檔。
RemoveEncoding
指令處理於任何 AddEncoding
指令之後,因此在同一個目錄配置中如有存在兩者,會解除後者的作用。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
說明 | 移除一組副檔名的任何處理常式關聯。 |
---|---|
指令格式 | RemoveHandler 副檔名 [副檔名] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveHandler
指令移除具有給定副檔名的任何處理常式關聯。這允許子目錄中的 .htaccess
檔案解除任何繼承自父目錄或伺服器設定檔的關聯。它的使用範例可能是
AddHandler server-parsed .html
RemoveHandler .html
這會導致 /foo/bar
目錄中的 .html
檔案會像普通檔案一樣受到處理,而不是視為需要剖析的候選 (請參閱 mod_include
模組)。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
說明 | 移除一組副檔名的任何輸入過濾器關聯。 |
---|---|
指令格式 | RemoveInputFilter 副檔名 [副檔名] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveInputFilter
指令移除具有給定副檔名的任何輸入 過濾器 關聯。這允許子目錄中的 .htaccess
檔案解除任何繼承自父目錄或伺服器設定檔的關聯。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
說明 | 移除一組副檔名的任何語言關聯。 |
---|---|
指令格式 | RemoveLanguage 副檔名 [副檔名] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveLanguage
指令移除具有給定副檔名的任何語言關聯。這允許子目錄中的 .htaccess
檔案解除任何繼承自父目錄或伺服器設定檔的關聯。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
說明 | 移除一組副檔名的任何輸出過濾器關聯。 |
---|---|
指令格式 | RemoveOutputFilter 副檔名 [副檔名] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
RemoveOutputFilter
指令移除具有給定副檔名的任何輸出 過濾器 關聯。這允許子目錄中的 .htaccess
檔案解除任何繼承自父目錄或伺服器設定檔的關聯。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
RemoveOutputFilter shtml
說明 | 移除一組副檔名的任何內容類型關聯。 |
---|---|
指令格式 | RemoveType 副檔名 [副檔名] ... |
內容 | 虛擬主機、目錄、.htaccess |
覆寫 | FileInfo |
狀態 | 基本 |
模組 | mod_mime |
指令 RemoveType
會移除所有與指定副檔名的檔案相關聯的 媒體類型。這允許子目錄中的 .htaccess
檔案取消繼承自父目錄或伺服器設定檔的任何相關聯。其使用方法的範例可能是
RemoveType .cgi
這將移除 /foo/
目錄及以下層級中 .cgi
檔案的所有特殊處理,導致包含這些檔案的回應省略 HTTP 內容類型標頭欄位。
RemoveType
指令會在所有 AddType
指令之後處理,因此如果兩個指令都發生在同一個目錄設定中,它們可能會取消後者的作用。
extension 引數不分大小寫,而且可以搭配前導句點提供,也可以不搭配前導句點。
說明 | mime.types 檔案的位置 |
---|---|
指令格式 | TypesConfig 檔案路徑 |
預設值 | TypesConfig conf/mime.types |
內容 | 伺服器設定 |
狀態 | 基本 |
模組 | mod_mime |
指令 TypesConfig
設定 媒體類型設定檔的位置。 檔案路徑 相對於 ServerRoot
。此檔案設定從檔名副檔名到內容類型的預設對應清單。大多數系統管理員使用作業系統提供的 mime.types
檔案,它會將常見的檔名副檔名與在 http://www.iana.org/assignments/media-types/index.html 維護的 IANA 已註冊媒體類型的官方清單以及大量非官方類型做對應。這簡化了 httpd.conf
檔案提供大部分媒體類型定義的功能,而且在需要時可由 AddType
指令覆寫。您不應編輯 mime.types
檔案,因為升級伺服器時可能會將其取代。
此檔案包含行,且其格式為指令 AddType
的引數
媒體類型 [副檔名] ...
副檔名的大小寫沒有關係。空行以及以雜湊符號 (#
) 開頭的行會被忽略。空行是為了完整性 (mime.types 檔案)。Apache httpd 仍可以使用 mod_mime_magic
判斷這些類型。
mime.types
檔案中,除非 (1) 它們已經在 IANA 註冊,並且 (2) 它們使用在各種平台上廣為接受的、不會產生衝突的檔名副檔名。mod_mime_magic