?
This document uses PHP Chinese website manual Release
說明 | 根據文件擴展名決定應答的行為(處理器/過濾器)和內容(MIME類型/語言/字符集/編碼) |
---|---|
狀態(tài) | 基本(B) |
模塊名 | mime_module |
源文件 | mod_mime.c |
本模塊通過文件的擴展名將不同的"元信息"與文件關聯起來。元信息在文檔的文件名與文檔的MIME類型、語言、字符集、編碼方式之間建立關聯。最終元信息會傳送到服務器并參與內容協(xié)商,這樣最終在考慮用戶指定參數的基礎上,在幾個可能的文件里選擇一個提供服務。關于內容協(xié)商的更多信息,請參閱mod_negotiation
模塊。
AddCharset
, AddEncoding
, AddLanguage
, AddType
指令都可以用于在文件的擴展名與文件的元信息之間建立映射關系。它們分別指明了文檔的字符集、編碼方式、語言、MIME類型(內容類型)。指令TypesConfig
用來指定一個文件,它也包含了擴展名到MIME類型的映射關系。
另外,mod_mime
還可以定義處理器和過濾器來生成或處理信息。指令AddHandler
, AddOutputFilter
, AddInputFilter
控制了提供文檔的模塊或腳本的運作方式。MultiviewsMatch
指令設定mod_negotiation
模塊在嘗試Multiview匹配時,如何處理文件擴展名。
當mod_mime
模塊在元信息與文件的擴展名之間建立映射以后,core
提供了一組指令用來建立某個給定范圍內(也就是<Location>
, <Directory>
, <Files>
)所有相關文件與特定的元信息之間的關聯。這些指令包括ForceType
, SetHandler
, SetInputFilter
, SetOutputFilter
。core
的指令會覆蓋任何在mod_mime
模塊中定義的文件擴展名映射。
注意,改變一個文件的元信息,不會改變Last-Modified
頭的值。因此,以前被緩存的副本可能還會被用戶或代理服務器使用。如果你改變了元信息(語言、內容類型、字符集、編碼方式),你需要"觸及"所有相關文件(更新他們的最后修改時間),以保證所有的訪問者都收到正確的內容標題。
文件可以有多個擴展名,這些擴展名的順序一般情況下是無關緊要的。例如:如果文件welcome.html.fr
被映射為內容類型是text/html
、語言是法語的話,文件welcome.fr.html
將被映射為完全相同的內容。如果一個以上的擴展名映射到同種類型的元信息上,那么將使用最右邊的那個。比如:.gif
的MIME類型是image/gif
、.html
的MIME類型是text/html
,那么welcome.gif.html
的MIME類型將是text/html
。
語言和內容編碼會按照積累的方式處理,因為一個文件可以被指定為多種語言或編碼。因此,welcome.html.en.de
文件將會按照Content-Language: en, de
和Content-Type: text/html
發(fā)送。
在處理帶多個擴展名的文件并且這些擴展名同時關聯MIME類型和處理器時,要特別小心。這種情況下通常是由與處理器相關的模塊來處理得到結果。比如,文件擴展名.imap
(通過mod_imagemap
模塊)與imap-file
處理器相關聯,同時,.html
文件擴展名的MIME類型是text/html
,那么文件world.imap.html
將同時與imap-file
處理器和text/html
MIME類型相關聯。在處理這種情況的時候,imap-file
處理器會被選用,因此,這個文件會被當作由mod_imagemap
模塊處理的圖像映射文件。
一個具有特定MIME類型的文件能夠用一種特定的方法進行額外的編碼,以簡化它在互聯網上的傳輸。這通常指的是壓縮,比如gzip
;也可以是加密,例如pgp
;還可以是像UUencoding那樣的編碼,UUencoding是用來在ASCII(文本)格式的文件里,傳輸二進制文件的編碼方式。
HTTP/1.1 RFC第14.11節(jié)是這樣解釋的:
實體頭的"Content-Encoding"域是媒體類型的修飾符。如果存在,它的值指明了對實體本身進行額外編碼的方式,以及為了得到"Content-Type"頭所參照的媒體類型而必須采用的解碼機制。"Content-Encoding"主要用來允許一個文件在不破壞它底層媒體類型的基礎上,進行壓縮。
通過使用一種以上的文件擴展名(參見上面關于帶多擴展名的文件一節(jié)),你可以指定文件是一種特定的類型,還可以同時指定它特定的編碼方式。
例如,你有一個文件,它是Microsoft Word文檔,同時為了減小它的大小,它還被壓縮了。如果.doc
擴展名表示Microsoft Word文件類型,而.zip
擴展名表示pkzip文件編碼方式,那么文件Resume.doc.zip
就會被認出是一個用pkzip壓縮過的Word文檔。
Apache把一個Content-encoding
頭和請求的資源一起發(fā)送,以便告訴瀏覽器資源編碼的方式。
Content-encoding: pkzip
除了文件類型和文件編碼方式外,還有一個重要的信息是文件的語言以及文件顯示時的字符集。例如一個文檔可能是用越南語或古斯拉夫語寫的,并且也應該顯示成這種語言。這樣的信息也要在HTTP頭里進行傳輸。
字符集、語言、編碼方式、內容類型等信息都是用在內容協(xié)商(參閱mod_negotiation
模塊)處理過程中的。它們決定了當許多包含了不同的字符集、語言、編碼方式、內容類型的文檔都存在時,具體將哪個文檔返回給客戶端。所有由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 charset extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
AddCharset
指令在特定的文件擴展名與特定的字符集之間建立映射。charset是以extension為擴展名的文件的MIME字符集參數。這個映射關系會強制添加在所有現存的映射關系上,并覆蓋所有現存的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
指令除了用于通知客戶端文檔的字符集編碼方式以便正確地翻譯和顯示以外,還用于內容協(xié)商(根據用戶的優(yōu)先選擇信息,從幾個文檔中選擇一個返回給用戶)。
extension參數是大小寫無關的,并且可以帶或不帶前導點。
mod_negotiation
AddDefaultCharset
說明 | 在文件擴展名與特定的編碼方式之間建立映射關系 |
---|---|
語法 | AddEncoding MIME-enc extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
AddEncoding
指令在文件擴展名與特定的編碼方式之間建立映射關系。指令定義以extension為擴展名的文件是由MIME-enc方式編碼的。這個映射關系會添加在所有有效的映射關系上,并覆蓋所有相同的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參數是大小無關的,并且可以帶或不帶前導點。
說明 | 在文件擴展名與特定的處理器之間建立映射 |
---|---|
語法 | AddHandler handler-name extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
指定帶extension擴展名的文件應被handler-name處理器來處理。這個映射關系會添加在所有有效的映射關系上,并覆蓋所有相同的extension擴展名映射。例如,為了把擴展名為.cgi
的文件作為CGI腳本來處理,你應該定義:
AddHandler cgi-script .cgi
一旦將上述定義放在你的http.conf文件中,所有包含.cgi
擴展名的文件,都會被當成是CGI程序。
extension參數是大小無關的,并且可以帶或不帶前導點。
SetHandler
說明 | 在文件擴展名與特定的輸入過濾器之間建立映射 |
---|---|
語法 | AddInputFilter filter[;filter...] extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.26 及以后的版本中可用 |
AddInputFilter
指令在文件擴展名extension與對服務器收到的客戶請求進行處理與轉發(fā)的輸入過濾器之間建立映射。這是除包括SetInputFilter
指令在內的所有過濾器定義指令之外的定義。這個映射會與所有有效的定義合并,并覆蓋所有相同的extension擴展名映射。
如果要指定一個以上的過濾器,它們必須用分號來分隔,并按它們處理文檔的順序來排列。filter與extension參數都是大小無關的,extension可以帶或不帶前導點。
RemoveInputFilter
SetInputFilter
說明 | 在文件擴展名與特定的語言之間建立映射 |
---|---|
語法 | AddLanguage MIME-lang extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
AddLanguage
指令在文件擴展名與特定的語言之間建立映射。指令定義以extension為擴展名的文件是以MIME-lang語言寫成的。這個映射關系會添加在所有有效的映射關系上,并覆蓋所有相同的extension擴展名映射。
AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr
這樣一來,文檔xxxx.en.Z
將會被當成是一個壓縮的英文文檔(xxxx.Z.en
也一樣)。雖然內容的語言會返回給客戶端,但瀏覽器一般未必會使用這一信息。AddLanguage
指令更多的用于內容協(xié)商,以決定哪個文檔應當被返回給用戶。
如果同一個擴展名被賦予多個語言,那么使用最后出現的那個。因此在下列情況中:
AddLanguage en .en
AddLanguage en-gb .en
AddLanguage en-us .en
帶.en
擴展名的文檔會被當成是en-us
。
extension參數是大小無關的,并且可以帶或不帶前導點。
mod_negotiation
說明 | 在文件擴展名與特定的輸出過濾器之間建立映射關系 |
---|---|
語法 | AddOutputFilter filter[;filter...] extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.26 及以后的版本中可用 |
AddOutputFilter
指令在文件擴展名extension與對服務將返回給客戶的信息進行處理的輸出過濾器之間建立映射。這是除包括SetOutputFilter
和AddOutputFilterByType
指令在內的所有過濾器定義指令之外定義。這個映射會與所有有效的定義合并,并覆蓋所有相同的extension擴展名映射。
例如,下述配置會在處理所有.shtml
文件時,進行服務器端包含,并同時使用mod_deflate
模塊壓縮后輸出。
AddOutputFilter INCLUDES;DEFLATE shtml
如果要指定一個以上的過濾器,它們必須用分號來分隔,并按它們處理文檔的順序來排列。filter和extension參數都是大小寫無關的,extension可以帶或不帶前導點。
RemoveOutputFilter
SetOutputFilter
說明 | 在給定的文件擴展名與特定的內容類型之間建立映射 |
---|---|
語法 | AddType MIME-type extension [extension] ... |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
AddType
指令在給定的文件擴展名與特定的內容類型之間建立映射關系。MIME-type指明了包含extension擴展名的文件的媒體類型。這個映射關系會添加在所有有效的映射關系上,并覆蓋所有相同的extension擴展名映射。本指令可用來增加沒有在媒體類型文件(參閱TypesConfig
指令)中定義的映射關系。
AddType image/gif .gif
AddType
指令增加新的媒體類型映射關系,而不是改變TypesConfig
文件。
extension參數是大小無關的,并且可以帶或不帶前導點。
DefaultType
ForceType
說明 | 為所有文件設定特定的默認語言 |
---|---|
語法 | DefaultLanguage MIME-lang |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
DefaultLanguage
指令告訴Apache,當該指令作用域范圍內(例如,所有當前<Directory>
指令封裝范圍內)的文件沒有明確的語言擴展名(例如由AddLanguage
指令定義的.fr
或.de
)時,文件應該被認為是由MIME-lang語言構成的。舉例來說,這就允許在不必對每個文件進行重命名的情況下,把整個目錄中的文件標記為包含荷蘭語內容。注意不同于用擴展名來指定語言,DefaultLanguage
指令只能指定一種語言。
如果沒有提供有效的DefaultLanguage
指令同時文件也不包含由AddLanguage
定義的語言擴展名,那么該文件將被認為沒有語言屬性。
DefaultLanguage en
mod_negotiation
說明 | 將path_info 當成是文件名的一個組成部分 |
---|---|
語法 | ModMimeUsePathInfo On|Off |
默認值 | ModMimeUsePathInfo Off |
作用域 | directory |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.41 及以后的版本中可用 |
ModMimeUsePathInfo
指令用來設定在使用由mod_mime
提供的指令時,是否將URL的path_info
與文件名結合起來進行處理。默認值為 Off
,也就是說URL的path_info
部分被忽略。
當你使用虛擬文件系統(tǒng)的時候,推薦使用本指令。
ModMimeUsePathInfo On
對/bar/foo.shtml
這樣的請求來說,"/bar
"是一個位置信息,如果ModMimeUsePathInfo
指令為 On
,mod_mime
會將請求解析成/bar/foo.shtml
,于是象"AddOutputFilter INCLUDES .shtml
"這樣的指令就會使用INCLUDES
過濾器來處理這個請求。如果沒有設定ModMimeUsePathInfo
指令,則不會使用INCLUDES
過濾器。
AcceptPathInfo
說明 | 在使用MultiViews查詢所匹配的文件時要包含的文件類型 |
---|---|
語法 | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Handlers|Filters] |
默認值 | MultiviewsMatch NegotiatedOnly |
作用域 | server config, virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.26 及以后的版本中可用 |
MultiviewsMatch
指令在實現mod_negotiation
模塊的Multiviews功能時,提供了三種不同的處理方法。Multiviews允許對一個文件的請求,可以用任何在基礎請求后面跟上協(xié)商擴展名的情況來匹配,例如:index.html
可以用index.html.en
, index.html.fr
, index.html.gz
來匹配。
NegotiatedOnly
選項規(guī)定每個跟在基礎名字后面的擴展名必須關聯到一個在內容協(xié)商時已知的mod_mime
擴展名,例如:字符集、內容類型、語言、編碼方式。這是一種最嚴格也是副作用最少的實現方法,它是默認的處理方式。
為了包含與處理器和/或過濾器關聯的擴展名,可以設定MultiviewsMatch
指令為Handlers
或Filters
,也可以兩個都選。如果其它所有因素都相等,則會選擇最小的那個文件來提供服務。例如,在一個500字節(jié)的index.html.cgi
文件和一個1000字節(jié)的index.html.pl
文件中做選擇時,.cgi
文件會勝出。如果.asis
文件與asis-handler
處理器關聯,對.asis
文件的請求就會使用處理器選項指明的處理器。
即使mod_mime
不認識的擴展名,你最終也可以通過使用Any
選項來使它匹配用戶的請求。Apaceh1.3就是按這個方式處理的,這會導致無法預測的結果,比如匹配了網站管理員從來不希望使用的.old或.bak文件。
例如,下面的配置允許在Multviews查詢中使用處理器和過濾器,但會拒絕未知的文件:
MultiviewsMatch Handlers Filters
Options
mod_negotiation
說明 | 刪除任何給定的擴展名與內容字符集之間的關聯 |
---|---|
語法 | RemoveCharset extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.24 及以后的版本中可用 |
RemoveCharset
指令刪除任何給定的擴展名與內容字符集之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與內容字符集之間的關聯關系。
extension參數是大小無關的,并且可以帶或不帶前導點。
RemoveCharset .html .shtml
說明 | 刪除任何給定的擴展名與內容編碼方式之間的關聯 |
---|---|
語法 | RemoveEncoding extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | 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
指令之后處理,因此如果在同一個目錄配置里兩者都出現的話,RemoveEncoding
指令將會取消后面的AddEncoding
指令的作用。
extension參數是大小無關的,并且可以帶或不帶前導點。
說明 | 刪除任何指定擴展名與處理器之間的關聯 |
---|---|
語法 | RemoveHandler extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
RemoveHandler
指令刪除任何指定的擴展名與處理器之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與處理器之間的關聯關系。舉例來說,它可以這樣來使用:
AddHandler server-parsed .html
RemoveHandler .html
這樣/foo/bar
目錄中的.html
文件將被當成普通文件來處理,而不是由parsing處理器(參閱mod_include
模塊)來處理。
extension參數是大小無關的,并且可以帶或不帶前導點。
說明 | 刪除指定擴展名與輸入過濾器之間的關聯 |
---|---|
語法 | RemoveInputFilter extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.26 及以后的版本中可用 |
RemoveInputFilter
指令刪除指定的擴展名與輸入過濾器之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與輸入過濾器之間的關聯關系。
extension參數是大小無關的,并且可以帶或不帶前導點。
AddInputFilter
SetInputFilter
說明 | 刪除指定的擴展名與內容語言之間的關聯 |
---|---|
語法 | RemoveLanguage extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 Apache 2.0.24 及以后的版本中可用 |
RemoveLanguage
指令刪除指定的擴展名與內容語言之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與內容語言之間的關聯關系。
extension參數是大小無關的,并且可以帶或不帶前導點。
說明 | 刪除指定擴展名與輸出過濾器之間的關聯 |
---|---|
語法 | RemoveOutputFilter extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
兼容性 | 僅在 2.0.26 及以后的版本中可用 |
RemoveOutputFilter
指令刪除指定的擴展名與輸出過濾器之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與輸出過濾器之間的關聯關系。
extension參數是大小無關的,并且可以帶或不帶前導點。
RemoveOutputFilter shtml
AddOutputFilter
說明 | 刪除指定擴展名與內容類型之間的關聯 |
---|---|
語法 | RemoveType extension [extension] ... |
作用域 | virtual host, directory, .htaccess |
覆蓋項 | FileInfo |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
RemoveType
指令刪除指定的擴展名與內容類型之間的關聯。子目錄中的.htaccess
文件可以通過這條指令取消從父目錄或服務器配置文件中繼承過來的擴展名與內容類型之間的關聯關系。舉例來說,它可以這樣使用:
RemoveType .cgi
這將刪除/foo/
目錄及其所有子目錄下.cgi
文件的特定處理方式,從而使這些文件按DefaultType
指令設定的默認類型來處理。
RemoveType
指令會在所有的AddType
指令之后處理,因此,當同一個目錄配置中,同時存在這兩種指令的時候,前面的RemoveType
指令將會取消后面的AddType
指令的作用。
extension參數是大小無關的,并且可以帶或不帶前導點。
說明 | 指定mime.types 文件的位置 |
---|---|
語法 | TypesConfig file-path |
默認值 | TypesConfig conf/mime.types |
作用域 | server config |
狀態(tài) | 基本(B) |
模塊 | mod_mime |
TypesConfig
指令設定MIME類型配置文件的位置。File-path是相對于ServerRoot
的路徑。媒體類型配置文件列出了文件擴展名與內容類型的默認映射關系。大多數管理員使用既定的mime.types
文件,它關聯了文件擴展名和由IANA注冊的內容類型。最新的列表可以在http://www.iana.org/assignments/media-types/index.html得到。這樣做可以大大簡化httpd.conf
文件里的媒體類型定義,在需要時,也可以用AddType
指令來更改這些定義。你不應該編輯mime.types
文件,因為在服務器升級的時候,它會被覆蓋。
文件包含類似于AddType
指令參數格式的行:
MIME-type [extension] ...
擴展名的大小寫是無關緊要的??招泻鸵跃?#
)打頭的行會被忽略。
mime.types
文件中增加新的項,除非(1)它們已經在IANS注冊過了,或者(2)它們被廣泛地使用,并且在多平臺上沒有文件擴展名沖突發(fā)生。category/x-subtype
請求會被自動拒絕,因為任何新的二字母的擴展名很可能會與已經非常擁擠的語言及字符集名字空間沖突。
mod_mime_magic