Пункт 164. Модуль Apache mod_mime
Этот модуль используется для назначения метаданных содержимого содержимому, выбранному для ответа 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$">
cgi-скрипт SetHandler
</FilesMatch>
Кодировка контента
Файл определенного медиа-типа может быть дополнительно закодирован определенным образом для упрощения передачи через Интернет. Хотя это обычно относится к сжатию, например
gzip
, оно также может относиться к шифрованию, например,
pgp
или к кодированию, например UUencoding, которое предназначено для передачи двоичного файла в формате ASCII (текст).
HTTP/1.1 RFC, раздел 14.11, говорит об этом так:
Поле заголовка объекта Content-Encoding используется в качестве модификатора типа носителя. Когда оно присутствует, его значение указывает, какие дополнительные кодировки контента были применены к телу объекта и, таким образом, какие механизмы декодирования должны быть применены для получения типа медиа, на который ссылается поле заголовка Content-Type. Content-Encoding в основном используется для сжатия документа без потери идентичности его базового типа носителя.
Используя более одного расширения файла (см. раздел о нескольких расширениях файлов выше), вы можете указать, что файл относится к определенному типу , а также имеет определенную
кодировку .
Например, у вас может быть файл, являющийся документом Microsoft Word, который сжат в pk-архиве для уменьшения его размера. Если
.doc
расширение связано с типом файла Microsoft Word, а .zip
расширение связано с кодировкой файла pkzip, то файл
Resume.doc.zip
будет известен как документ Word, сжатый pkzip.
Apache отправляет Content-encoding
заголовок с ресурсом, чтобы сообщить браузеру клиента о методе кодирования.
Кодировка содержимого: pkzip
Наборы символов и языки
Помимо типа файла и кодировки файла, другой важной частью информации является то, на каком языке написан конкретный документ и в каком наборе символов должен отображаться файл. Например, документ может быть написан вьетнамским алфавитом или кириллицей и должен отображаться соответствующим образом. Эта информация также передается в заголовках HTTP.
Набор символов, язык, кодировка и тип пантомимы используются в процессе согласования содержимого (см.
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
Описание: | Сопоставляет заданные расширения имени файла с указанной кодировкой содержимого |
Синтаксис: | AddCharset charset extension
[extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива AddCharset
сопоставляет заданные расширения имен файлов с указанным набором символов содержимого (зарегистрированное в Интернете имя для данной кодировки символов). charset
— это параметр charset типа мультимедиа для ресурсов с именами файлов, содержащими
расширение . Это сопоставление добавляется к любому уже действующему, переопределяя любые сопоставления, которые уже существуют для того же
расширения .
Пример
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
полезна как для информирования клиента о кодировке символов документа, чтобы документ можно было правильно интерпретировать и отображать, так и для согласования содержимого, когда сервер возвращает один из нескольких документов на основе предпочтения кодировки клиента.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Смотрите также
-
mod_negotiation
-
AddDefaultCharset
Директива AddEncoding
Описание: | Сопоставляет заданные расширения имени файла с указанным типом кодировки |
Синтаксис: | AddEncoding encoding extension
[extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива AddEncoding
сопоставляет заданные расширения имени файла с указанной кодировкой содержимого HTTP.
encoding — это кодировка содержимого HTTP, добавляемая к значению поля заголовка Content-Encoding для документов с
расширением . Это сопоставление добавляется к любому уже действующему, переопределяя любые сопоставления, которые уже существуют для того же
расширения .
Пример
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-
.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Директива AddHandler
Описание: | Сопоставляет расширения имени файла с указанным обработчиком |
Синтаксис: | AddHandler handler-name extension
[extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Файлы с расширением имени будут обслуживаться указанным обработчиком . Это сопоставление добавляется к любому уже действующему, переопределяя любые сопоставления, которые уже существуют для того же расширения . Например, чтобы активировать сценарии CGI с расширением файла .cgi
, вы можете использовать:
AddHandler cgi-скрипт .cgi
Как только это будет помещено в ваш файл apache2.conf, любой файл, содержащий расширение, .cgi
будет рассматриваться как программа CGI.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Смотрите также
Директива AddInputFilter
Описание: | Сопоставляет расширения имен файлов с фильтрами, которые будут обрабатывать запросы клиентов. |
Синтаксис: | AddInputFilter filter[;filter...]
extension [extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
AddInputFilter
сопоставляет расширение имени файла
с фильтрами, которые будут обрабатывать клиентские запросы и ввод POST, когда они будут получены сервером. Это в дополнение к любым фильтрам, определенным в другом месте, включая SetInputFilter
директиву. Это сопоставление объединяется с уже действующими, переопределяя любые сопоставления, которые уже существуют для того же расширения .
Если указано более одного фильтра , они должны быть разделены точкой с запятой в том порядке, в котором они должны обрабатывать содержимое. Фильтр нечувствителен к регистру .
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Смотрите также
-
RemoveInputFilter
-
SetInputFilter
Директива AddLanguage
Описание: | Сопоставляет данное расширение имени файла с указанным языком содержимого |
Синтаксис: | AddLanguage language-tag extension
[extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива AddLanguage
сопоставляет данное расширение имени файла с указанным языком содержимого. Файлам с расширением имени файла присваивается значение языкового тега HTTP Content-Language , соответствующее идентификаторам языка, определенным в RFC 3066. Эта директива переопределяет любые сопоставления, которые уже существуют для того же
расширения .
Пример
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
.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Смотрите также
Директива AddOutputFilter
Описание: | Сопоставляет расширения имен файлов с фильтрами, которые будут обрабатывать ответы с сервера. |
Синтаксис: | AddOutputFilter filter[;filter...]
extension [extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива AddOutputFilter
сопоставляет расширение имени файла с фильтрами, которые будут обрабатывать ответы от сервера до того, как они будут отправлены клиенту. Это в дополнение к любым фильтрам, определенным в другом месте, включая SetOutputFilter
и AddOutputFilterByType
директиву. Это сопоставление объединяется с уже действующими, переопределяя любые сопоставления, которые уже существуют для того же расширения .
Например, следующая конфигурация обработает все
.shtml
файлы для включений на стороне сервера, а затем сожмет вывод с использованием файлов mod_deflate
.
AddOutputFilter ВКЛЮЧАЕТ; DEFLATE shtml
Если указано более одного фильтра, они должны быть разделены точкой с запятой в том порядке, в котором они должны обрабатывать содержимое. Аргумент фильтра нечувствителен к регистру.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Обратите внимание, что при определении набора фильтров с помощью
AddOutputFilter
директивы любое сделанное определение заменит любое предыдущее определение, сделанное директивой AddOutputFilter
.
# Эффективный фильтр "DEFLATE"
AddOutputFilter DEFLATE shtml
<Расположение "/foo">
# Эффективный фильтр "INCLUDES", заменяющий "DEFLATE"
AddOutputFilter ВКЛЮЧАЕТ shtml
</местоположение>
<Расположение "/бар">
# Эффективный фильтр "INCLUDES;DEFLATE", заменяющий "DEFLATE"
AddOutputFilter ВКЛЮЧАЕТ; DEFLATE shtml
</местоположение>
<Расположение "/бар/баз">
# Эффективный фильтр "BUFFER", заменяющий "INCLUDES;DEFLATE"
AddOutputFilter BUFFER shtml
</местоположение>
<Расположение "/bar/baz/buz">
# Нет эффективного фильтра, заменяющего "БУФЕР"
RemoveOutputFilter shtml
</местоположение>
Смотрите также
-
RemoveOutputFilter
-
SetOutputFilter
Директива AddType
Описание: | Сопоставляет заданные расширения имени файла с указанным типом содержимого. |
Синтаксис: | AddType media-type extension
[extension] ... |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива AddType
сопоставляет заданные расширения имени файла с указанным типом содержимого. media-type — это тип носителя , используемый для имен файлов, содержащих
расширение . Это сопоставление добавляется к любому уже действующему, переопределяя любые сопоставления, которые уже существуют для того же
расширения .
Рекомендуется добавлять новые типы мультимедиа с помощью
AddType
директивы, а не изменять
TypesConfig
файл.
Пример
Добавить тип изображения/gif .gif
Или, чтобы указать несколько расширений файлов в одной директиве:
Пример
AddType изображение/jpeg jpeg jpg jpe
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее. Имена файлов могут иметь несколько расширений, и
аргумент расширения будет сравниваться с каждым из них.
Эффект, аналогичный , mod_negotiation
может
LanguagePriority
быть достигнут путем определения медиа-типа с помощью
qs
:
Пример
Приложение AddType/rss+xml;qs=0.8 .xml
Это полезно в ситуациях, например , когда запрашивающий клиент Accept: */*
не может фактически обработать содержимое, возвращенное сервером.
Эта директива в первую очередь настраивает типы контента, созданные для статических файлов, обслуживаемых вне файловой системы. Для ресурсов, отличных от статических файлов, где генератор ответа обычно указывает Content-Type, эта директива не действует.
Примечание
Если для запроса явно не задан обработчик, указанный тип содержимого также будет использоваться в качестве имени обработчика.
Когда явные директивы, такие как
SetHandler
или
AddHandler
не применяются к текущему запросу, имя внутреннего обработчика, обычно устанавливаемое этими директивами, вместо этого устанавливается на тип содержимого, указанный этой директивой.
Это историческое поведение, которое может использоваться некоторыми сторонними модулями (например, mod_php) для принятия на себя ответственности за соответствующий запрос.
Следует избегать конфигураций, основанных на таких «синтетических» типах. Кроме того, конфигурации, которые ограничивают
SetHandler
или
AddHandler
должны также ограничивать доступ к этой директиве.
Смотрите также
-
ForceType
-
mod_negotiation
Директива по умолчанию для языка
Описание: | Определяет языковой тег по умолчанию, который будет отправлен в поле заголовка Content-Language для всех ресурсов в текущем контексте, которым не был назначен языковой тег каким-либо другим способом. |
Синтаксис: | DefaultLanguage language-tag |
Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива DefaultLanguage
сообщает Apache, что всем ресурсам в области действия директивы ( например , всем ресурсам, охватываемым текущим <Directory>
контейнером), которые не имеют явного языкового расширения (например, .fr
или .de
как настроено AddLanguage
), следует назначить Content-Language of language-tag . Это позволяет помечать целые деревья каталогов как содержащие голландский контент, например, без необходимости переименовывать каждый файл. Обратите внимание, что в отличие от использования расширений для указания языков, DefaultLanguage
можно указать только один язык.
Если никакая DefaultLanguage
директива не действует и файл не имеет языковых расширений, настроенных с помощью AddLanguage
, то поле заголовка Content-Language не будет создано.
Пример
Язык по умолчанию en
Смотрите также
Директива ModMimeUsePathInfo
Описание: | Говорит mod_mime рассматривать path_info
компоненты как часть имени файла |
Синтаксис: | ModMimeUsePathInfo On|Off |
По умолчанию: | ModMimeUsePathInfo Off |
Контекст: | каталог |
Положение дел: | База |
Модуль: | mod_mime |
Директива ModMimeUsePathInfo
используется для объединения имени файла с path_info
компонентом URL для применения 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 |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
MultiviewsMatch
разрешает три разных поведения для функции mod_negotiation Multiviews. Multiviews позволяет запросу файла,
например index.html
, соответствовать любым согласованным расширениям, следующим за базовым запросом, например
index.html.en
, index.html.fr
, или
index.html.gz
.
Опция NegotiatedOnly
предусматривает, что каждое расширение, следующее за базовым именем, должно соответствовать распознанному
mod_mime
расширению для согласования содержимого, например,
Charset, Content-Type, Language или Encoding. Это самая строгая реализация с наименьшим количеством непредвиденных побочных эффектов, и это поведение по умолчанию.
Чтобы включить расширения, связанные с обработчиками и/или фильтрами, задайте MultiviewsMatch
для директивы либо
Handlers
, Filters
либо оба ключевых слова option. Если все остальные факторы равны, будет обслуживаться наименьший файл,
например , при выборе между index.html.cgi
500 байтами и index.html.pl
1000 байтами .cgi
в этом примере выиграет файл. Пользователи .asis
файлов могут предпочесть использовать параметр Handler, если .asis
файлы связаны с расширением asis-handler
.
Наконец-то вы можете разрешить Any
сопоставление расширений, даже если
mod_mime
расширение не распознается. Это может привести к непредсказуемым результатам, таким как предоставление файлов .old или .bak, которые веб-мастер не ожидал.
Например, следующая конфигурация позволит обработчикам и фильтрам участвовать в Multviews, но исключит неизвестные файлы:
MultiviewsMatch Handlers Filters
MultiviewsMatch
не допускается в
разделе <Location>
или <LocationMatch>
.
Смотрите также
Директива RemoveCharset
Описание: | Удаляет любые ассоциации набора символов для набора расширений файлов. |
Синтаксис: | RemoveCharset extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveCharset
удаляет любые ассоциации набора символов для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Пример
УдалитьЧарсет .html .shtml
Директива RemoveEncoding
Описание: | Удаляет любые ассоциации кодировки содержимого для набора расширений файлов. |
Синтаксис: | RemoveEncoding extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveEncoding
удаляет любые ассоциации кодировок для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера. Примером его использования может быть:
/foo/.htaccess:
AddEncoding x-gzip .gz
AddType текстовый/обычный .asc
<Файлы "*.gz.asc">
RemoveEncoding .gz
</файлы>
Это приведет foo.gz
к тому, что он будет помечен как закодированный с помощью метода gzip, но foo.gz.asc
как незакодированный текстовый файл.
Примечание
RemoveEncoding
директивы обрабатываются
после любых AddEncoding
директив, поэтому возможно, что они могут отменить действие последних, если обе происходят в одной и той же конфигурации каталога.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Директива RemoveHandler
Описание: | Удаляет любые ассоциации обработчиков для набора расширений файлов. |
Синтаксис: | RemoveHandler extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveHandler
удаляет любые ассоциации обработчиков для файлов с заданными расширениями. Это позволяет
.htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера. Примером его использования может быть:
/foo/.htaccess:
Обработанный сервером AddHandler .html
/foo/бар/.htaccess:
Ремухандлер .html
Это приводит к тому, что .html
файлы в /foo/bar
каталоге возвращаются как обычные файлы, а не как кандидаты на разбор (см. mod_include
модуль).
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Директива RemoveInputFilter
Описание: | Удаляет любые ассоциации входных фильтров для набора расширений файлов. |
Синтаксис: | RemoveInputFilter extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveInputFilter
удаляет любые ассоциации входных фильтров для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Смотрите также
-
AddInputFilter
-
SetInputFilter
Директива RemoveLanguage
Описание: | Удаляет любые языковые ассоциации для набора расширений файлов. |
Синтаксис: | RemoveLanguage extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveLanguage
удаляет любые языковые ассоциации для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Директива RemoveOutputFilter
Описание: | Удаляет любые ассоциации выходного фильтра для набора расширений файлов. |
Синтаксис: | RemoveOutputFilter extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveOutputFilter
удаляет любые ассоциации выходного фильтра для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Пример
RemoveOutputFilter shtml
Смотрите также
Директива RemoveType
Описание: | Удаляет любые ассоциации типов содержимого для набора расширений файлов. |
Синтаксис: | RemoveType extension [extension]
... |
Контекст: | виртуальный хост, каталог, .htaccess |
Переопределить: | Информация о файле |
Положение дел: | База |
Модуль: | mod_mime |
Директива RemoveType
удаляет любые
ассоциации типов мультимедиа для файлов с заданными расширениями. Это позволяет .htaccess
файлам в подкаталогах отменять любые ассоциации, унаследованные от родительских каталогов или файлов конфигурации сервера. Примером его использования может быть:
/foo/.htaccess:
RemoveType .cgi
Это удалит любую специальную обработку .cgi
файлов в /foo/
каталоге и всех нижележащих, в результате чего в ответах, содержащих эти файлы, будет опущено поле заголовка HTTP Content-Type.
Примечание
RemoveType
директивы обрабатываются
после любых AddType
директив, поэтому возможно, что они могут отменить действие последних, если обе происходят в одной и той же конфигурации каталога.
Аргумент расширения нечувствителен к регистру и может быть указан с точкой в начале или без нее.
Директива TypesConfig
Описание: | Расположение mime.types файла |
Синтаксис: | TypesConfig file-path |
По умолчанию: | TypesConfig conf/mime.types |
Контекст: | конфигурация сервера |
Положение дел: | База |
Модуль: | mod_mime |
Директива TypesConfig
задает расположение файла конфигурации типов носителей
. Путь к файлу относится к
ServerRoot
. Этот файл устанавливает список сопоставлений по умолчанию от расширений файлов к типам содержимого. Большинство администраторов используют mime.types
файл, предоставленный их ОС, который связывает распространенные расширения имен файлов с официальным списком типов носителей, зарегистрированных в IANA, который хранится по адресу http://www.iana.org/assignments/media-types/index.html, а также с большим количество неофициальных типов. Это упрощает apache2.conf
файл, предоставляя большинство определений типов мультимедиа, и
AddType
при необходимости может быть переопределено директивами. Не следует редактировать mime.types
файл, так как он может быть заменен при обновлении сервера.
Файл содержит строки в формате аргументов директивы AddType
:
media-type [extension] ...
Регистр расширения значения не имеет. Пустые строки и строки, начинающиеся с символа решетки ( #
), игнорируются. Пустые строки для полноты (файла mime.types). Apache httpd по-прежнему может определять эти типы с помощью mod_mime_magic
.
Пожалуйста,
не отправляйте запросы в проект HTTP-сервера Apache на добавление каких-либо новых записей в распространяемый
mime.types
файл, за исключением случаев, когда (1) они уже зарегистрированы в IANA и (2) они используют общепринятые неконфликтующие расширения имен файлов на разных платформах.
category/x-subtype
запросы будут автоматически отклонены, как и любые новые двухбуквенные расширения, поскольку они, вероятно, позже будут конфликтовать с уже переполненным пространством имен языка и набора символов.
Смотрите также