Модуль Apache mod_mime
| Описание: | Связывает расширения запрошенного имени файла с поведением файла (обработчиками и фильтрами) и его содержимым (типом 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. Поэтому клиент или прокси-сервер может по-прежнему использовать ранее сохранённые в кэше копии с прежними заголовками. При изменении метаданных (языка, типа содержимого, набора символов или кодировки) может потребоваться обновить время изменения затронутых файлов (командой «touch»), чтобы все посетители получали исправленные заголовки содержимого.
Файлы с несколькими расширениями
У файлов может быть несколько расширений; обычно порядок расширений не имеет значения. Например, если файл 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, и файл будет рассматриваться как файл imagemap типа mod_imagemap.
Если требуется сопоставлять с заданными метаданными только последнюю часть имени файла после точки, не используйте директивы Add*. Например, если файл foo.html.cgi должен обрабатываться как сценарий CGI, а файл bar.cgi.html — нет, вместо AddHandler cgi-script .cgi используйте
Настройка обработчика только по последнему расширению
<FilesMatch "[^.]+\.cgi$"> SetHandler cgi-script </FilesMatch>
Кодировка содержимого
Файл определённого типа носителя можно дополнительно закодировать определённым способом, чтобы упростить передачу через Интернет. Обычно речь идёт о сжатии, например gzip, но это также может быть шифрование, например pgp, или кодировка, например UUencoding, предназначенная для передачи двоичного файла в формате ASCII (текста).
В разделе 14.11 RFC HTTP/1.1 это сформулировано следующим образом:
Поле заголовка сущности Content-Encoding используется как модификатор типа носителя. Если оно присутствует, его значение указывает на дополнительные кодировки содержимого, применённые к телу сущности, а значит, и на механизмы декодирования, которые следует применить для получения типа носителя, указанного в поле заголовка Content-Type. Content-Encoding в первую очередь используется для сжатия документа без потери сведений о его исходном типе носителя.
Используя несколько расширений имени файла (см. раздел выше о нескольких расширениях файлов), можно указать, что файл имеет определённый тип, а также определённую кодировку.
Например, у вас может быть документ Microsoft Word, сжатый с помощью pkzip для уменьшения размера. Если расширение .doc связано с типом файла Microsoft Word, а расширение .zip — с кодировкой файла pkzip, то файл Resume.doc.zip будет распознан как документ Word, сжатый pkzip.
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
| Описание: | Сопоставляет заданные расширения имён файлов с указанным набором символов содержимого |
|---|---|
| Синтаксис: | AddCharset charset extension [extension] ... |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива AddCharset сопоставляет заданные расширения имён файлов с указанным набором символов содержимого (зарегистрированным в Интернете названием заданной кодировки символов). charset — это параметр 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
| Описание: | Сопоставляет заданные расширения имён файлов с указанным типом кодировки |
|---|---|
| Синтаксис: | AddEncoding encoding extension [extension] ... |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива AddEncoding сопоставляет заданные расширения имён файлов с указанной кодировкой содержимого HTTP. encoding — это схема кодирования содержимого HTTP, добавляемая к значению поля заголовка Content-Encoding для документов с именами, содержащими 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
| Описание: | Сопоставляет расширения имён файлов с указанным обработчиком |
|---|---|
| Синтаксис: | AddHandler handler-name extension [extension] ... |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Файлы с расширением extension будут обслуживаться указанным именем обработчика. Это сопоставление добавляется к уже действующим и переопределяет существующие сопоставления для того же extension. Например, чтобы активировать сценарии CGI с расширением файла .cgi, можно использовать:
AddHandler cgi-script .cgi
После добавления этого параметра в файл httpd.conf все файлы с расширением .cgi будут обрабатываться как программы CGI.
Аргумент extension не чувствителен к регистру; его можно указывать как с точкой в начале, так и без неё. Имена файлов могут иметь несколько расширений, и аргумент extension будет проверен для каждого из них.
См. также
Директива AddInputFilter
| Описание: | Сопоставляет расширения имён файлов с фильтрами, которые будут обрабатывать запросы клиентов |
|---|---|
| Синтаксис: | AddInputFilter filter[;filter...] extension [extension] ... |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива AddInputFilter сопоставляет расширение имени файла extension с фильтрами, которые будут обрабатывать запросы клиентов и входные данные POST при их получении сервером. Это дополняет любые фильтры, определённые в других местах, включая директиву SetInputFilter. Это сопоставление объединяется с уже действующими и переопределяет существующие сопоставления для того же extension.
Если указано несколько значений filter, их необходимо разделить точками с запятой в порядке обработки содержимого. Аргумент filter не чувствителен к регистру.
Аргумент extension не чувствителен к регистру; его можно указывать как с точкой в начале, так и без неё. Имена файлов могут иметь несколько расширений, и аргумент extension будет проверен для каждого из них.
См. также
Директива AddLanguage
| Описание: | Сопоставляет заданное расширение имени файла с указанным языком содержимого |
|---|---|
| Синтаксис: | 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
| Описание: | Сопоставляет расширения имён файлов с фильтрами, которые будут обрабатывать ответы сервера |
|---|---|
| Синтаксис: | AddOutputFilter filter[;filter...] extension [extension] ... |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива AddOutputFilter сопоставляет расширение имени файла extension с фильтрами, которые будут обрабатывать ответы сервера перед их отправкой клиенту. Это дополняет любые фильтры, определённые в других местах, включая директивы SetOutputFilter и AddOutputFilterByType. Это сопоставление объединяется с уже действующими и переопределяет существующие сопоставления для того же extension.
Например, следующая конфигурация обработает все файлы .shtml с помощью серверных включений, а затем сожмёт вывод с помощью mod_deflate.
AddOutputFilter INCLUDES;DEFLATE shtml
Если указано несколько фильтров, их необходимо разделить точками с запятой в порядке обработки содержимого. Аргумент filter не чувствителен к регистру.
Аргумент extension не чувствителен к регистру; его можно указывать как с точкой в начале, так и без неё. Имена файлов могут иметь несколько расширений, и аргумент extension будет проверен для каждого из них.
Обратите внимание: при определении набора фильтров с помощью директивы 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>
См. также
Директива AddType
| Описание: | Сопоставляет заданные расширения имён файлов с указанным типом содержимого |
|---|---|
| Синтаксис: | 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 будет проверен для каждого из них.
Аналогичного эффекта, что и LanguagePriority в mod_negotiation, можно добиться, указав qs для media-type:
Пример
AddType application/rss+xml;qs=0.8 .xml
Это полезно в ситуациях, например, когда клиент, запрашивающий Accept: */*, не может обработать содержимое, возвращённое сервером.
Эта директива в первую очередь настраивает типы содержимого, создаваемые для статических файлов, обслуживаемых из файловой системы. Для ресурсов, отличных от статических файлов, генератор ответа которых обычно сам указывает Content-Type, эта директива не действует.
Примечание
Если для запроса явно не задан обработчик, указанное значение типа содержимого также будет использоваться в качестве имени обработчика.
Если к текущему запросу не применяются явные директивы, такие как SetHandler или AddHandler, внутреннее имя обработчика, обычно задаваемое этими директивами, вместо этого устанавливается равным типу содержимого, указанному этой директивой.
Это историческое поведение может использоваться некоторыми сторонними модулями (например, mod_php), чтобы обрабатывать соответствующие запросы.
Следует избегать конфигураций, полагающихся на такие «синтетические» типы. Кроме того, конфигурации, ограничивающие доступ к SetHandler или AddHandler, должны также ограничивать доступ к этой директиве.
См. также
Директива DefaultLanguage
| Описание: | Задаёт язык по умолчанию, который будет отправляться в поле заголовка Content-Language для всех ресурсов в текущем контексте, которым не был назначен язык иным способом. |
|---|---|
| Синтаксис: | DefaultLanguage language-tag |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива DefaultLanguage указывает Apache, что всем ресурсам в области действия директивы (например, всем ресурсам, охватываемым текущим контейнером <Directory>), у которых нет явного языкового расширения (например, .fr или .de, заданных с помощью AddLanguage), следует назначить Content-Language со значением language-tag. Это позволяет пометить целые деревья каталогов как содержащие, например, содержимое на нидерландском языке, не переименовывая каждый файл. Обратите внимание: в отличие от указания языков с помощью расширений, DefaultLanguage позволяет задать только один язык.
Если директива DefaultLanguage не действует и у файла нет языковых расширений, настроенных с помощью AddLanguage, поле заголовка Content-Language не создаётся.
Пример
DefaultLanguage en
См. также
Директива ModMimeUsePathInfo
| Описание: | Указывает mod_mime считать компоненты path_info частью имени файла |
|---|---|
| Синтаксис: | ModMimeUsePathInfo On|Off |
| Значение по умолчанию: | ModMimeUsePathInfo Off |
| Контекст: | каталог |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива ModMimeUsePathInfo используется для объединения имени файла с компонентом URL path_info, чтобы применить директивы mod_mime к запросу. Значение по умолчанию — Off, поэтому компонент path_info игнорируется.
Эту директиву рекомендуется использовать при работе с виртуальной файловой системой.
Пример
ModMimeUsePathInfo On
Если поступит запрос /index.php/foo.shtml, mod_mime будет рассматривать его как /index.php/foo.shtml, а директивы вроде AddOutputFilter INCLUDES .shtml добавят к запросу фильтр INCLUDES. Если ModMimeUsePathInfo не задано, фильтр INCLUDES добавлен не будет. Аналогично это работает для виртуальных путей, например определённых с помощью <Location>
См. также
Директива MultiviewsMatch
| Описание: | Типы файлов, включаемые при поиске подходящего файла с помощью MultiViews |
|---|---|
| Синтаксис: | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Handlers|Filters] |
| Значение по умолчанию: | MultiviewsMatch NegotiatedOnly |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива MultiviewsMatch задаёт три разных варианта поведения функции Multiviews модуля mod_negotiation. Multiviews позволяет запросу файла, например index.html, соответствовать любым согласованным расширениям, следующим за базовым запросом, например index.html.en, index.html.fr или index.html.gz.
Параметр NegotiatedOnly требует, чтобы каждое расширение после базового имени соответствовало распознанному расширению mod_mime для согласования содержимого, например набору символов, типу содержимого, языку или кодировке. Это наиболее строгий вариант, имеющий наименьшее число неожиданных побочных эффектов, и он используется по умолчанию.
Чтобы включить расширения, связанные с обработчиками и/или фильтрами, задайте директиве MultiviewsMatch значение Handlers, Filters или оба ключевых слова параметров. При прочих равных будет передан файл меньшего размера. Например, при выборе между index.html.cgi размером 500 байт и index.html.pl размером 1000 байт в этом примере будет выбран файл .cgi. Пользователям файлов .asis может быть предпочтительнее параметр Handler, если файлы .asis связаны с asis-handler.
Наконец, можно разрешить совпадения с расширениями Any, даже если mod_mime не распознаёт это расширение. Это может привести к непредсказуемым результатам, например к отправке файлов .old или .bak, которые веб-мастер не собирался публиковать.
Например, следующая конфигурация позволит обработчикам и фильтрам участвовать в Multiviews, но исключит неизвестные файлы:
MultiviewsMatch Handlers Filters
Использовать MultiviewsMatch в разделе <Location> или <LocationMatch> нельзя.
См. также
Директива RemoveCharset
| Описание: | Удаляет все связи набора символов для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveCharset extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveCharset удаляет все связи набора символов для файлов с заданными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять связи, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент extension не чувствителен к регистру; его можно указывать как с точкой в начале, так и без неё.
Пример
RemoveCharset .html .shtml
Директива RemoveEncoding
| Описание: | Удаляет все связи кодировок содержимого для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveEncoding extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveEncoding удаляет все связи кодировок для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера. Пример использования:
/foo/.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
| Описание: | Удаляет все связи обработчиков для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveHandler extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveHandler удаляет все связи обработчиков для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера. Пример использования:
/foo/.htaccess:
AddHandler server-parsed .html
/foo/bar/.htaccess:
RemoveHandler .html
В результате файлы .html в каталоге /foo/bar снова будут обрабатываться как обычные файлы, а не как кандидаты на разбор (см. модуль mod_include).
Аргумент extension не чувствителен к регистру и может указываться с начальной точкой или без неё.
Директива RemoveInputFilter
| Описание: | Удаляет все связи входных фильтров для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveInputFilter extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveInputFilter удаляет все связи входных фильтров для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент extension не чувствителен к регистру и может указываться с начальной точкой или без неё.
См. также
Директива RemoveLanguage
| Описание: | Удаляет все языковые связи для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveLanguage extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveLanguage удаляет все языковые связи для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент extension не чувствителен к регистру и может указываться с начальной точкой или без неё.
Директива RemoveOutputFilter
| Описание: | Удаляет все связи выходных фильтров для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveOutputFilter extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveOutputFilter удаляет все связи выходных фильтров для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент extension не чувствителен к регистру и может указываться с начальной точкой или без неё.
Пример
RemoveOutputFilter shtml
См. также
Директива RemoveType
| Описание: | Удаляет все связи типов содержимого для заданного набора расширений файлов |
|---|---|
| Синтаксис: | RemoveType extension [extension] ... |
| Контекст: | виртуальный хост, каталог, .htaccess |
| Переопределение: | FileInfo |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива RemoveType удаляет все связи медиатипов для файлов с указанными расширениями. Это позволяет файлам .htaccess во вложенных каталогах отменять любые связи, унаследованные от родительских каталогов или файлов конфигурации сервера. Пример использования:
/foo/.htaccess:
RemoveType .cgi
В результате будет удалена специальная обработка файлов .cgi в каталоге /foo/ и всех его вложенных каталогах, поэтому ответы, содержащие эти файлы, не будут включать поле HTTP-заголовка Content-Type.
Примечание
Директивы RemoveType обрабатываются после всех директив AddType, поэтому они могут отменить действие последних, если обе директивы используются в конфигурации одного каталога.
Аргумент extension не чувствителен к регистру и может указываться с начальной точкой или без неё.
Директива TypesConfig
| Описание: | Расположение файла mime.types |
|---|---|
| Синтаксис: | TypesConfig file-path |
| Значение по умолчанию: | TypesConfig conf/mime.types |
| Контекст: | конфигурация сервера |
| Статус: | Базовый |
| Модуль: | mod_mime |
Директива TypesConfig задаёт расположение файла конфигурации медиатипов. File-path задаётся относительно ServerRoot. Этот файл содержит список сопоставлений расширений файлов типам содержимого по умолчанию. Большинство администраторов используют файл mime.types, предоставляемый их операционной системой. В нём распространённые расширения файлов сопоставлены с официальным списком зарегистрированных IANA медиатипов, который поддерживается по адресу http://www.iana.org/assignments/media-types/index.html, а также с большим количеством неофициальных типов. Это упрощает файл httpd.conf, поскольку в нём уже содержится большинство определений медиатипов; при необходимости их можно переопределить директивами AddType. Не следует редактировать файл mime.types, поскольку он может быть заменён при обновлении сервера.
Файл содержит строки в формате аргументов директивы AddType:
media-type [extension] ...
Регистр символов в расширении не имеет значения. Пустые строки и строки, начинающиеся с символа решётки (#), игнорируются. Пустые строки включены для полноты файла mime.types. Apache httpd по-прежнему может определять эти типы с помощью mod_mime_magic.
mime.types, если только (1) они уже не зарегистрированы в IANA и (2) для них не используются широко принятые, не конфликтующие между платформами расширения файлов. Запросы category/x-subtype будут автоматически отклонены, как и любые новые двухбуквенные расширения, поскольку в дальнейшем они, вероятно, будут конфликтовать с уже перегруженным пространством имён языков и кодировок символов. См. также
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_mime.html