On this page
Apache 模块 mod_mime
Description: | 将请求的文件名 extensions 与文件的行为(处理程序和过滤器)和内容(MIME 类型,语言,字符集和编码)相关联 |
---|---|
Status: | Base |
Module Identifier: | mime_module |
Source File: | mod_mime.c |
Summary
该模块用于通过将 URI 中的模式或文件名 Map 到元数据值,将内容元数据分配给为 HTTP 响应选择的内容。例如,内容文件的文件 extensions 通常定义内容的 Internet 媒体类型,语言,字符集和内容编码。该信息在包含该内容的 HTTP 消息中发送,并在选择替代项时用于内容协商,这样,在选择几种可能的内容之一进行服务时,将尊重用户的偏好。有关content negotiation的更多信息,请参见mod_negotiation。
指令AddCharset,AddEncoding,AddLanguage和AddType都用于将文件 extensionsMap 到该文件的元数据上。它们分别设置文档的字符集,内容编码,内容语言和media-type(Content Type)。指令TypesConfig用于指定一个文件,该文件还将 extensionsMap 到媒体类型。
另外,mod_mime可以定义起源和处理内容的handler和filters。指令AddHandler,AddOutputFilter和AddInputFilter控制为文档提供服务的模块或脚本。 MultiviewsMatch指令允许mod_negotiation在测试 Multiviews 匹配时考虑将这些文件 extensions 包括在内。
mod_mime将元数据与文件 extensions 相关联时,core服务器提供的指令用于将给定容器(例如,<Location>,<Directory>或<Files>)中的所有文件与特定元数据相关联。这些指令包括ForceType,SetHandler,SetInputFilter和SetOutputFilter。核心指令会覆盖mod_mime中定义的任何文件名 extensionsMap。
请注意,更改文件的元数据不会更改Last-Modified
Headers 的值。因此,Client 端或代理仍可以将先前缓存的副本与先前的 Headers 一起使用。如果更改元数据(语言,Content Type,字符集或编码),则可能需要“触摸”受影响的文件(更新其上次修改日期),以确保所有访问者都收到正确的内容 Headers。
具有多个 extensions 的文件
文件可以具有多个 extensions。extensions 的 Sequences通常无关紧要。例如,如果文件welcome.html.fr
Map 到 Content Typetext/html
和语言法语,则文件welcome.fr.html
将 Map 到完全相同的信息。如果给出了多个 extensions,它们 Map 到相同类型的元数据,则将使用右侧的 extensions,语言和内容编码除外。例如,如果.gif
Map 到media-type image/gif
和.html
Map 到媒体类型text/html
,则文件welcome.gif.html
将与媒体类型text/html
关联。
Languages和content encodings被视为累积的,因为一个人可以为一种特定的资源分配不止一种语言或编码。例如,文件welcome.html.en.de
将与Content-Language: en, de
和Content-Type: text/html
一起交付。
当具有多个 extensions 的文件同时与media-type和处理程序相关联时,应格外小心。通常,这将导致请求由与处理程序关联的模块处理。例如,如果.imap
extensionsMap 到处理程序imap-file
(来自mod_imagemap),而.html
extensionsMap 到媒体类型text/html
,则文件world.imap.html
将与imap-file
处理程序和text/html
媒体类型相关联。处理该文件时,将使用imap-file
处理程序,因此它将被视为mod_imagemap图像 Map 文件。
如果您只希望将文件名的最后一个点分隔的部分 Map 到特定的元数据,则不要使用Add*
指令。例如,如果您希望将文件foo.html.cgi
作为 CGI 脚本处理,而不希望文件bar.cgi.html
进行处理,则可以使用AddHandler cgi-script .cgi
而不是
仅基于最终 extensions 配置处理程序
<FilesMatch "[^.]+\.cgi$">
SetHandler cgi-script
</FilesMatch>
Content encoding
特定media-type的文件可以另外以特定方式编码,以简化 Internet 上的传输。尽管这通常指的是压缩,例如gzip
,但它也可以指加密(例如pgp
)或诸如 UUencoding 的编码,该编码旨在以 ASCII(文本)格式传输二进制文件。
HTTP/1.1 RFC,第 14.11 节以这种方式表示:
Note
“内容编码实体标题”字段用作媒体类型的修饰符。当存在时,其值指示已将哪些其他内容编码应用于实体,因此必须应用哪种解码机制才能获得 Content-Type Headers 字段引用的媒体类型。内容编码主要用于允许压缩文档而不会丢失其基础媒体类型的标识。
通过使用多个文件 extensions(请参见上面有关多个文件 extensions 的部分),可以表明文件具有特定的* type ,并且还具有特定的 encoding *。
例如,您可能有一个 Microsoft Word 文档文件,该文件用 pkzip 压缩以减小其大小。如果.doc
extensions 与 Microsoft Word 文件类型相关联,而.zip
extensions 与 pkzip 文件编码相关联,则文件Resume.doc.zip
将被称为 pkzip 格式的 Word 文档。
Apache 向资源发送一个Content-encoding
Headers,以告知 Client 端浏览器有关编码方法的信息。
Content-encoding: pkzip
字符集和语言
除了文件类型和文件编码外,另一条重要的信息是特定文档所用的语言以及应以哪种字符集显示文件。例如,该文档可能以越南语字母或西里尔字母书写,并应按原样显示。此信息也以 HTTP Headers 传输。
在存在多个字符集,语言,编码或 mime 的替代文档时,在内容协商过程中将使用字符集,语言,编码和 mime 类型(请参见mod_negotiation)来确定将哪个文档提供给 Client 端。类型。使用AddCharset,AddEncoding,AddLanguage和AddType指令创建的所有文件 extensions 关联(以及MimeMagicFile中列出的 extensions)都参与此选择过程。通过使用MultiviewsMatch指令,可以将仅使用AddHandler,AddInputFilter或AddOutputFilter指令关联的文件 extensions 包括在内或排除在匹配之外。
Charset
为了传达此进一步信息,Apache 可以选择发送Content-Language
Headers,以指定文档所使用的语言,并且可以将附加信息附加到Content-Type
Headers 上,以指示应用于正确呈现信息的特定字符集。
Content-Language: en, fr Content-Type: text/plain; charset=ISO-8859-1
语言规范是该语言的两个字母的缩写。 charset
是应使用的特定字符集的名称。
AddCharset Directive
Description: | 将给定的文件 extensionsMap 到指定的内容字符集 |
---|---|
Syntax: | AddCharset charset extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddCharset
指令将给定的文件 extensionsMap 到指定的内容字符集(给定字符编码的 Internet 注册名称)。 charset 是文件名包含 extensions 的资源的媒体类型的字符集参数。该 Map 将添加到任何已生效的 Map 中,从而覆盖同一 extensions 已存在的所有 Map。
Example
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
指令不仅可用于通知 Client 端有关文档的字符编码,以便可以正确地解释和显示文档,对于content negotiation,服务器可根据 Client 端的字符集首选项从多个文档中返回一个文档。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
See also
AddEncoding Directive
Description: | 将给定的文件 extensionsMap 到指定的编码类型 |
---|---|
Syntax: | AddEncoding encoding extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddEncoding
指令将给定的文件 extensionsMap 到指定的 HTTP 内容编码。 encoding 是 HTTP 内容编码,用于附加到以 extensions 命名的文档的 Content-Encoding Headers 字段的值。该 Map 将添加到任何已生效的 Map 中,从而覆盖同一 extensions 已存在的所有 Map。
Example
AddEncoding x-gzip .gz
AddEncoding x-compress .Z
这将导致包含.gz
extensions 的文件名被标记为使用x-gzip
编码,而包含.Z
extensions 的文件名被标记为使用x-compress
编码。
老 Client 期望x-gzip
和x-compress
,但是标准规定它们分别等效于gzip
和compress
。 Apache 通过忽略任何前导x-
来进行内容编码比较。当使用编码进行响应时,Apache 将使用 Client 端请求的任何形式(,即,x-foo
或foo
)。如果 Client 端没有特别要求特定的表单,Apache 将使用AddEncoding
指令给出的表单。为了简短起见,对于这两种特定的编码,应始终使用x-gzip
和x-compress
。应该指定较新的编码,例如deflate
而不使用x-
。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
AddHandler Directive
Description: | 将文件 extensionsMap 到指定的处理程序 |
---|---|
Syntax: | AddHandler handler-name extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
具有 extensions 的文件将由指定的handler-name提供。该 Map 将添加到任何已生效的 Map 中,从而覆盖同一 extensions 已存在的所有 Map。例如,要激活文件 extensions 为.cgi
的 CGI 脚本,可以使用:
AddHandler cgi-script .cgi
将其放入 httpd.conf 文件后,任何包含.cgi
extensions 的文件都将被视为 CGI 程序。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
See also
AddInputFilter Directive
Description: | 将文件 extensionsMap 到将处理 Client 端请求的过滤器 |
---|---|
Syntax: | AddInputFilter filter[;filter...] extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddInputFilter
将文件 extensionsextensionsMap 到filters,当服务器收到 Client 端请求和 POST Importing 时,该文件将处理。这是在其他地方定义的所有过滤器的补充,包括SetInputFilter指令。该 Map 将合并到所有已生效的 Map 上,从而覆盖同一 extensions 已存在的所有 Map。
如果指定了多个过滤器,则必须使用分号将它们按处理内容的 Sequences 分隔开。过滤器不区分大小写。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
See also
AddLanguage Directive
Description: | 将给定的文件 extensionsMap 到指定的内容语言 |
---|---|
Syntax: | AddLanguage language-tag extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddLanguage
指令将给定的文件 extensionsMap 到指定的内容语言。具有文件名 extensions 的文件被分配一个 HTTP 内容语言值,该语言标签的语言标签与 RFC 3066 定义的语言标识符相对应。此伪指令将覆盖该 extensions 已经存在的所有 Map。
Example
AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr
然后,文档xxxx.en.Z
将被视为压缩的英文文档(文档xxxx.Z.en
也会被视为)。尽管内容语言已报告给 Client 端,但浏览器不太可能使用此信息。 AddLanguage
指令对content negotiation更为有用,其中服务器根据 Client 端的语言首选项从多个文档中返回一个。
如果为同一 extensions 分配了多种语言,则最后遇到的是所使用的 extensions。也就是说,对于以下情况:
AddLanguage en .en
AddLanguage en-gb .en
AddLanguage en-us .en
extensions 为.en
的文档将被视为en-us
。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
See also
AddOutputFilter Directive
Description: | 将文件 extensionsMap 到将处理服务器响应的过滤器 |
---|---|
Syntax: | AddOutputFilter filter[;filter...] extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddOutputFilter
指令将文件 extensionsextensionsMap 到filters,它将在将来自服务器的响应发送给 Client 端之前对其进行处理。这是在其他地方定义的所有过滤器的补充,包括SetOutputFilter和AddOutputFilterByType指令。该 Map 将合并到所有已生效的 Map 上,从而覆盖同一 extensions 已存在的所有 Map。
例如,以下配置将处理服务器端包含的所有.shtml
文件,然后使用mod_deflate压缩输出。
AddOutputFilter INCLUDES;DEFLATE shtml
如果指定了多个过滤器,则必须使用分号将它们按处理内容的 Sequences 分隔开。 filter 参数不区分大小写。
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
请注意,使用AddOutputFilter指令定义一组过滤器时,所做的任何定义都将替换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>
See also
AddType Directive
Description: | 将给定的文件 extensionsMap 到指定的 Content Type |
---|---|
Syntax: | AddType media-type extension [extension] ... |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
AddType
指令将给定的文件 extensionsMap 到指定的 Content Type。 media-type 是用于包含 extensions 的文件名的media type。该 Map 将添加到任何已生效的 Map 中,从而覆盖同一 extensions 已存在的所有 Map。
Note
建议使用AddType
指令添加新的媒体类型,而不要更改TypesConfig文件。
Example
AddType image/gif .gif
或者,要在一个指令中指定多个文件 extensions:
Example
AddType image/jpeg jpeg jpg jpe
extension 参数不区分大小写,可以指定带或不带前导点。文件名可能具有multiple extensions,并且会将 extensions 参数与每个文件名进行比较。
通过用qs
限定媒体类型,可以达到与mod_negotiation的LanguagePriority类似的效果:
Example
AddType application/rss+xml;qs=0.8 .xml
这在以下情况下很有用,例如,当请求Accept: */*
的 Client 端实际上无法处理服务器返回的内容时,*。
该指令主要配置为从文件系统提供的静态文件生成的 Content Type。对于静态文件以外的资源,其中响应的生成器通常指定 Content-Type,此指令无效。
Note
如果没有为请求显式设置任何处理程序,则指定的 Content Type 也将用作处理程序名称。
当诸如SetHandler或AddHandler之类的显式指令不适用于当前请求时,通常将这些指令通常设置的内部处理程序名称设置为此指令指定的 Content Type。
这是一种历史行为,某些第三方模块(例如 mod_php)可能会使用该行为负责匹配请求。
应该避免依赖于这种“合成”类型的配置。此外,限制对SetHandler或AddHandler的访问的配置也应同时限制对该指令的访问。
See also
DefaultLanguage Directive
Description: | 为当前上下文中尚未通过其他方式分配语言标签的所有资源,定义要在“内容语言”Headers 字段中发送的默认语言标签。 |
---|---|
Syntax: | DefaultLanguage language-tag |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
DefaultLanguage
指令告诉 Apache,该指令范围内的所有资源(* eg *,当前<Directory>容器覆盖的所有资源)没有显式语言扩展(例如AddLanguage所配置的.fr
或.de
)应分配给语言标签的内容语言。例如,这允许将整个目录树标记为包含荷兰语内容,而不必重命名每个文件。请注意,与使用 extensions 指定语言不同,DefaultLanguage
只能指定一种语言。
如果没有生效的DefaultLanguage
指令,并且文件没有由AddLanguage配置的任何语言 extensions,则不会生成 Content-Language 头字段。
Example
DefaultLanguage en
See also
ModMimeUsePathInfo Directive
Description: | 告诉mod_mime将path_info 组件视为文件名的一部分 |
---|---|
Syntax: | ModMimeUsePathInfo On|Off |
Default: | ModMimeUsePathInfo Off |
Context: | directory |
Status: | Base |
Module: | mod_mime |
ModMimeUsePathInfo
指令用于将文件名和path_info
URL 组件组合在一起,以将mod_mime的指令应用于请求。默认值为Off
-因此,会忽略path_info
组件。
当您有虚拟文件系统时,建议使用此伪指令。
Example
ModMimeUsePathInfo On
如果您有/index.php/foo.shtml
的请求,则mod_mime现在会将传入的请求视为/index.php/foo.shtml
,并且AddOutputFilter INCLUDES .shtml
之类的指令会将INCLUDES
过滤器添加到该请求中。如果未设置ModMimeUsePathInfo
,则不会添加INCLUDES
过滤器。这对于虚拟路径(例如,由<Location>
定义的虚拟路径)将类似地工作
See also
MultiviewsMatch Directive
Description: | 使用 MultiViews 搜索匹配文件时将包括的文件类型 |
---|---|
Syntax: | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Handlers|Filters] |
Default: | MultiviewsMatch NegotiatedOnly |
Context: | 服务器配置,虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
MultiviewsMatch
允许mod_negotiation的多视图功能具有三种不同的行为。多视图允许请求* e.g. * index.html
匹配基本请求* e.g. * index.html.en
,index.html.fr
或index.html.gz
之后的任何协商 extensions。
NegotiatedOnly
选项提供了基本名称后面的每个 extensions 都必须与公认的mod_mimeextensions 进行内容协商,例如,字符集,Content Type,语言或编码。这是最严格的实现,具有最少的意外副作用,并且是默认行为。
要包括与处理程序和/或过滤器关联的扩展,请将MultiviewsMatch
伪指令设置为Handlers
,Filters
或两个选项关键字。如果所有其他因素都相等,则将投放最小的文件,例如*在决定 500 字节的index.html.cgi
和 1000 字节的index.html.pl
之间确定时,在该示例中.cgi
文件将获胜。如果.asis
文件与asis-handler
关联,则.asis
文件的用户可能更喜欢使用 Handler 选项。
您最终可以允许Any
个 extensions 匹配,即使mod_mime无法识别该 extensions 也是如此。这可能会导致不可预测的结果,例如,向站点 Management 员提供以前从未提供过的.old 或.bak 文件。
例如,以下配置将允许处理程序和过滤器参与 Multviews,但将排除未知文件:
MultiviewsMatch Handlers Filters
<Location>或<LocationMatch>部分中不允许MultiviewsMatch
。
See also
RemoveCharset Directive
Description: | 删除一组文件 extensions 的任何字符集关联 |
---|---|
Syntax: | RemoveCharset extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveCharset
指令删除具有给定 extensions 的文件的任何字符集关联。这允许子目录中的.htaccess
个文件撤消从父目录或服务器配置文件继承的任何关联。
extension 参数不区分大小写,可以指定带或不带前导点。
Example
RemoveCharset .html .shtml
RemoveEncoding Directive
Description: | 删除一组文件 extensions 的任何内容编码关联 |
---|---|
Syntax: | RemoveEncoding extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveEncoding
指令删除具有给定 extensions 的文件的所有编码关联。这允许子目录中的.htaccess
个文件撤消从父目录或服务器配置文件继承的任何关联。其用法的一个示例可能是:
/foo/.htaccess:
AddEncoding x-gzip .gz
AddType text/plain .asc
<Files "*.gz.asc">
RemoveEncoding .gz
</Files>
这将导致foo.gz
被标记为使用 gzip 方法编码,而foo.gz.asc
被标记为未编码的纯文本文件。
Note
RemoveEncoding
伪指令在所有AddEncoding伪指令之后被处理,因此,如果它们都出现在同一目录配置中,则它们可能会撤消后者的影响。
extension 参数不区分大小写,可以指定带或不带前导点。
RemoveHandler Directive
Description: | 删除一组文件 extensions 的所有处理程序关联 |
---|---|
Syntax: | RemoveHandler extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveHandler
指令删除具有给定 extensions 的文件的所有处理程序关联。这允许子目录中的.htaccess
个文件撤消从父目录或服务器配置文件继承的任何关联。其用法的一个示例可能是:
/foo/.htaccess:
AddHandler server-parsed .html
/foo/bar/.htaccess:
RemoveHandler .html
这具有将/foo/bar
目录中的.html
个文件返回为普通文件而不是作为解析候选文件的作用(请参阅mod_include模块)。
extension 参数不区分大小写,可以指定带或不带前导点。
RemoveInputFilter Directive
Description: | 删除一组文件 extensions 的所有 Importing 过滤器关联 |
---|---|
Syntax: | RemoveInputFilter extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveInputFilter
指令删除具有给定 extensions 的文件的所有 Importingfilter关联。这允许子目录中的.htaccess
文件撤消从父目录或服务器配置文件继承的任何关联。
extension 参数不区分大小写,可以指定带或不带前导点。
See also
RemoveLanguage Directive
Description: | 删除一组文件 extensions 的任何语言关联 |
---|---|
Syntax: | RemoveLanguage extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveLanguage
指令删除具有给定 extensions 的文件的任何语言关联。这允许子目录中的.htaccess
个文件撤消从父目录或服务器配置文件继承的任何关联。
extension 参数不区分大小写,可以指定带或不带前导点。
RemoveOutputFilter Directive
Description: | 删除一组文件 extensions 的所有输出过滤器关联 |
---|---|
Syntax: | RemoveOutputFilter extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveOutputFilter
指令删除具有给定 extensions 的文件的所有输出filter关联。这允许子目录中的.htaccess
文件撤消从父目录或服务器配置文件继承的任何关联。
extension 参数不区分大小写,可以指定带或不带前导点。
Example
RemoveOutputFilter shtml
See also
RemoveType Directive
Description: | 删除一组文件 extensions 的任何 Content Type 关联 |
---|---|
Syntax: | RemoveType extension [extension] ... |
Context: | 虚拟主机,目录,.htaccess |
Override: | FileInfo |
Status: | Base |
Module: | mod_mime |
RemoveType
指令删除具有给定 extensions 的文件的任何media type关联。这允许子目录中的.htaccess
文件撤消从父目录或服务器配置文件继承的任何关联。其用法的一个示例可能是:
/foo/.htaccess:
RemoveType .cgi
这将删除对/foo/
目录及其下的.cgi
文件的任何特殊处理,从而导致包含那些文件的响应忽略 HTTP Content-Type Headers 字段。
Note
RemoveType
伪指令在所有AddType伪指令之后被处理,因此,如果它们都出现在同一目录配置中,则它们可能会撤消后者的影响。
extension 参数不区分大小写,可以指定带或不带前导点。
TypesConfig Directive
Description: | mime.types 文件的位置 |
---|---|
Syntax: | TypesConfig file-path |
Default: | TypesConfig conf/mime.types |
Context: | server config |
Status: | Base |
Module: | mod_mime |
TypesConfig
伪指令设置media types配置文件的位置。文件路径相对于ServerRoot。该文件设置从文件 extensions 到 Content Type 的默认 Map 列表。大多数 Management 员使用其 os 提供的mime.types
文件,该文件将常见的文件 extensions 与http://www.iana.org/assignments/media-types/index.html维护的 IANA 注册媒体类型的官方列表以及大量非官方类型相关联。通过提供大多数媒体类型定义,这简化了httpd.conf
文件,并且可以根据需要被AddType指令覆盖。您不应编辑mime.types
文件,因为升级服务器时它可能会被替换。
该文件包含AddType指令的参数格式的行:
media-type [extension] ...
extensions 的大小写无关紧要。空行和以井号(#
)开头的行将被忽略。空行用于完整性(mime.types 文件的)。 Apache httpd 仍然可以使用mod_mime_magic确定这些类型。
not
请确实发送请求到 Apache HTTP Server 项目,以在分布式mime.types
文件中添加任何新条目,除非(1)已经在 IANA 上注册,以及(2)使用跨平台的广泛接受的,无冲突的文件 extensions。 category/x-subtype
请求将被自动拒绝,任何新的两个字母的扩展都会被拒绝,因为它们以后可能会与已经拥挤的语言和字符集名称空间发生冲突。