blob: 44866e79eeb9a6729dd0d5ee0dda3ab89d8af910 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
<!-- English Revision: 659902:1678567 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_mime.xml.meta">
<name>mod_mime</name>
<description>リクエストされたファイルの拡張子とファイルの振る舞い
(ハンドラとフィルタ)、内容 (MIME タイプ、言語、文字セット、エンコーディング)
とを関連付ける</description>
<status>ベース</status>
<sourcefile>mod_mime.c</sourcefile>
<identifier>mime_module</identifier>
<summary>
<p>このモジュールは拡張子を使っていろいろな「メタ情報」をファイルに
関連付けるために使用されます。この情報はドキュメントのファイル名と
MIME タイプ、言語、文字セット、エンコーディングとを関連付けます。
この情報はブラウザに送られますし、複数のファイルの中からユーザの好みの
ものが選ばれるように、コンテントネゴシエーションでも使われます。
<a href="../content-negotiation.html">コンテントネゴシエーション</a>
に関する詳しい情報は <module>mod_negotiation</module>
をご覧下さい。</p>
<p><directive module="mod_mime">AddCharset</directive> ディレクティブ、
<directive module="mod_mime">AddEncoding</directive> ディレクティブ、
<directive module="mod_mime">AddHandler</directive> ディレクティブ、
<directive module="mod_mime">AddLanguage</directive> ディレクティブ、
<directive module="mod_mime">AddType</directive> ディレクティブはすべて、
ファイルの拡張子をメタ情報にマップするために使用されます。
それぞれ、ドキュメントの文字セット <transnote>charset</transnote>、content-encoding,
content-language, <glossary ref="mime-type">MIME タイプ</glossary> (content-type) を設定します。
<directive module="mod_mime">TypesConfig</directive> ディレクティブは拡張子を
MIME タイプにマップするファイルを指定するために使用されます。</p>
<p>さらに、<module>mod_mime</module> はコンテンツを作成、処理する
<a href="../handler.html">ハンドラ</a><a href="../filter.html">フィルタ</a>
を設定することができます。<directive
module="mod_mime">AddHandler</directive> ディレクティブ、<directive
module="mod_mime">AddOutputFilter</directive> ディレクティブ、<directive
module="mod_mime">AddInputFilter</directive> ディレクティブは
ドキュメントを扱うモジュールやスクリプトを制御します。
<directive module="mod_mime">MultiviewsMatch</directive> ディレクティブは
これらのディレクティブが指定したファイルの拡張子を
<module>mod_negotiation</module> が Multiviews のマッチをとるときに
考慮するようにできます。</p>
<p><module>mod_mime</module> はメタ情報をファイル名と関連付けますが、
<module>core</module> サーバにはあるコンテナ
(<em>たとえば</em>, <directive type="section"
module="core">Location</directive>, <directive type="section"
module="core">Directory</directive>, <directive type="section"
module="core">Files</directive>) の中のすべてのファイルを特定の
メタ情報と関連付けるディレクティブがあります。これらのディレクティブには
<directive
module="core">ForceType</directive>, <directive
module="core">SetHandler</directive>, <directive
module="core">SetInputFilter</directive>, <directive
module="core">SetOutputFilter</directive> があります。
コアのディレクティブは <module>mod_mime</module> により定義された
ファイル名の拡張子のマッピングすべてを上書きします。</p>
<p>ファイルのメタ情報を変えても <code>Last-Modified</code>
ヘッダの値は変わらないことに注意してください。ですから、
それらを変更した場合は、クライアントやプロキシで以前にキャッシュされた
コピーがそのときのヘッダとともに使われる可能性があります。
メタ情報 (言語、コンテントタイプ、文字セット、エンコーディング) を
変更したときは、すべての訪問者が正しいコンテントヘッダを
受け取るように、影響を受けるファイルに 'touch' コマンドを実行する
(最終更新日を更新する) 必要があるかもしれません。</p>
</summary>
<seealso><directive
module="mod_mime_magic">MimeMagicFile</directive></seealso>
<seealso><directive module="core">AddDefaultCharset</directive></seealso>
<seealso><directive module="core">ForceType</directive></seealso>
<seealso><directive module="core">DefaultType</directive></seealso>
<seealso><directive module="core">SetHandler</directive></seealso>
<seealso><directive module="core">SetInputFilter</directive></seealso>
<seealso><directive module="core">SetOutputFilter</directive></seealso>
<section id="multipleext"><title>複数の拡張子のあるファイル</title>
<p>ファイルは複数の拡張子を持つことができ、拡張子の順番は<em
>通常は</em>関係ありません。例えば、ファイル <code>welcome.html.fr</code>
がコンテントタイプは <code>text/html</code>
に、言語はフランス語にマップされる場合、<code>welcome.fr.html</code>
もまったく同じ情報にマップされます。
同じメタ情報にマップされる拡張子が複数あるときには、言語と
コンテントエンコーディングを除いて、
右側にあるものが使用されます。たとえば、<code>.gif</code><glossary
ref="mime-type">MIME タイプ</glossary> <code>image/gif</code> にマップされ、<code>.html</code>
が MIME タイプ <code>text/html</code>
にマップされる場合は、ファイル <code>welcome.gif.html</code>
MIME タイプ <code>text/html</code> に関連付けられます。</p>
<p>リソースに複数の言語やエンコーディングを関連付けること
ができるため、
<a href="#charset-lang">言語</a><a href="#contentencoding"
>コンテントエンコーディング</a>は前のものに追加されていきます。
たとえば、ファイル <code>welcome.html.en.de</code>
<code>Content-Language: en, de</code><code>Content-Type:
text/html</code> として送信されます。</p>
<p>複数の拡張子のあるファイルが <glossary ref="mime-type">MIME
タイプ</glossary>とハンドラの両方に関連付けられているときは注意する必要があります。
その場合、普通はリクエストがハンドラに関連付けられた
モジュールによって扱われることになります。たとえば、拡張子
<code>.imap</code> が (<module>mod_imagemap</module> の) <code>imap-file</code>
にマップされていて、<code>.html</code> が MIME タイプ <code>text/html</code>
にマップされているときは、ファイル <code>world.imap.html</code>
<code>imap-file</code> ハンドラと <code>text/html</code> MIME
タイプに関連付けられます。ファイルが処理されるときは <code>imap-file</code>
ハンドラが使用されますので、そのファイルは <module>mod_imagemap</module>
のイメージマップファイルとして扱われることになります。</p>
<p>ファイル名のドット区切りでの最後の部分を使って、
特定の部分のメタデータにマッピングしたい場合は、
<code>Add*</code> ディレクティブは使わないでください。
たとえば <code>foo.html.cgi</code> を CGI スクリプトとして処理したいけれども、
<code>bar.cgi.html</code> は CGI スクリプトとしては処理したくない場合、
<code>AddHandler cgi-script .cgi</code> とする代わりに
次のようにしてください</p>
<example><title>Configure handler based on final extension only</title>
&lt;FilesMatch \.cgi$&gt;
<indent>
SetHandler cgi-script
</indent>
&lt;/FilesMatch&gt;
</example>
</section>
<section id="contentencoding"><title>コンテントエンコーディング</title>
<p>特定の <glossary ref="mime-type">MIME タイプ</glossary>
のファイルはインターネットでの転送を簡単にするために、
さらに符号化することができます。これは通常は <code>gzip</code>
ような圧縮のことを指しますが、<code>pgp</code> のような暗号化や、
バイナリファイルを ASCII (テキスト) 形式で送るために考案された
UUencoding のことを指すこともあります。</p>
<p><a href="http://www.ietf.org/rfc/rfc2616.txt">HTTP/1.1 RFC</a>
14.11 節では次のように記述されています。</p>
<blockquote cite="http://www.ietf.org/rfc/rfc2616.txt">
<p>Content-Encoding エンティティヘッダフィールドはメディアタイプの
修飾子として使われます。それが存在していれば、値はエンティティボディに
どの追加の符号化が適用されたかを示し、Content-Type ヘッダフィールドに
書かれているメディアタイプを得るためにどの復号機構を適用すべきか、も
示していることになります。Content-Encoding は主に、元のメディアタイプの
同一性を失うことなくドキュメントを圧縮することを可能にするために
使用されます。</p>
</blockquote>
<p>複数のファイル拡張子 (複数の拡張子については <a
href="#multipleext">上の節</a> を参照) 使うことで、
ファイルの<em>タイプ</em><em>エンコーディング</em>を指定することが
できます。</p>
<p>たとえば、Microsoft Word のドキュメントがあり、サイズを小さくするために
pkzip されているとします。<code>.doc</code> 拡張子が Microsoft Word の
ファイルタイプと関連付けられていて、<code>.zip</code> 拡張子が
pkzip ファイルエンコーディングと関連付けられていると、ファイル
<code>Resume.doc.zip</code> は pkzip された Word ドキュメントである
ということがわかります。</p>
<p>クライアントのブラウザにエンコーディング方法を知らせるために、
Apache はリソースと共に <code>Content-Encoding</code> ヘッダを
送ります。</p>
<example>Content-encoding: pkzip</example>
</section>
<section id="charset-lang"><title>文字セットと言語</title>
<p>ファイルタイプとファイルエンコーディングの他に重要な情報は
ドキュメントの書かれている言語と、どの文字セットでファイルが表示
されるべきか、というものです。たとえば、ドキュメントはベトナムの
アルファベットやキリル文字で書かれていて、そのように表示される
必要があるかもしれません。この情報もまた、HTTP ヘッダで
送信されます。</p>
<p>文字セット、言語、エンコーディング、mime タイプはすべて
コンテントネゴシエーション (<module>mod_negotiation</module> 参照)
の最中に、複数の文字セット、言語、エンコーディング、MIME タイプからなる
代替物があるときにどのドキュメントをクライアントに送るのかを
決定するときに使われます。<directive module="mod_mime">AddCharset</directive>,
<directive module="mod_mime">AddEncoding</directive>, <directive
module="mod_mime">AddLanguage</directive>,
<directive module="mod_mime">AddType</directive> の各ディレクティブで作成された
拡張子の関連付け (と <directive module="mod_mime_magic"
>MimeMagicFile</directive> でリストされている
拡張子) がこの選択に参加します。<directive module="mod_mime"
>AddHandler</directive>,
<directive module="mod_mime">AddInputFilter</directive>,
<directive module="mod_mime">AddOutputFilter</directive>
各ディレクティブでのみ関連付けられている拡張子は
<directive module="mod_mime">MultiviewsMatch</directive> ディレクティブを
使うことでマッチの
処理に含めることも外すこともできます。</p>
<section id="charset"><title>Charset</title>
<p>さらに情報を伝えるために、Apache は文書の言語を
<code>Content-Language</code> ヘッダで送ることもあります。
また、情報を正しく表示するために使用すべき文字セットを示すために
<code>Conten-Type</code> ヘッダに情報を追加することもあります。</p>
<example>
Content-Language: en, fr<br />
Content-Type: text/plain; charset=ISO-8859-1
</example>
<p>言語の指定は二文字の短縮形で行なわれます。<code>charset</code>
使用すべき文字セットの名前です。</p>
</section>
</section>
<directivesynopsis>
<name>AddCharset</name>
<description>ファイル名の拡張子を指定された文字セットにマップする</description>
<syntax>AddCharset <var>charset</var> <var>extension</var>
[<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>AddCharset</directive> ディレクティブは、
与えられた拡張子を指定された charset にマップします。<var>charset</var>
は、拡張子 <var>extension</var> を含んでいるファイル名の
<a href="http://www.iana.org/assignments/character-sets">MIME charset
パラメータ</a>です。新しいマッピングは既にある他のマッピングに追加され、同じ拡張子
<var>extension</var> のためのマッピングを上書きします。</p>
<example><title></title>
AddLanguage ja .ja<br />
AddCharset EUC-JP .euc<br />
AddCharset ISO-2022-JP .jis<br />
AddCharset SHIFT_JIS .sjis
</example>
<p>この場合、ドキュメント <code>xxxx.ja.jis</code> は charset が
<code>ISO-2022-JP</code> の日本語のドキュメントとして扱われます
(<code>xxxx.jis.ja</code> も同様)。<directive>AddCharset</directive>
ディレクティブは、ドキュメントが適切に解釈され表示されるように、
ドキュメントの charset の情報をクライアントに教えるために役に立ちます。
また、サーバがクライアントの charset
の優先度に基づいて複数のドキュメントの中からドキュメントを選ぶ<a
href="../content-negotiation.html"
>コンテントネゴシエーション</a>のためにも役に立ちます。</p>
<p>引数 <var>extension</var>は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><module>mod_negotiation</module></seealso>
<seealso><directive module="core">AddDefaultCharset</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>AddEncoding</name>
<description>ファイル名の拡張子を指定されたエンコーディング
にマップする</description>
<syntax>AddEncoding <var>MIME-enc</var> <var>extension</var>
[<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>AddEncoding</directive> ディレクティブは、
与えられた拡張子を指定されたエンコーディングにマップします。
<var>MIME-enc</var> は、拡張子 <var>extension</var>
を含んだドキュメントに使用する MIME エンコーディングです。
この新しいマッピングは既にある他のマッピングに追加され、
同じ拡張子 <var>extension</var> のためのマッピングを上書きします。</p>
<example><title></title>
<code>AddEncoding x-gzip .gz<br />
AddEncoding x-compress .Z</code>
</example>
<p>これは、拡張子 <code>.gz</code> を含むファイル名が <code>x-gzip</code>
エンコーディングを使ってエンコードされていることと、拡張子 <code>.Z</code>
を含むファイル名が <code>x-compress</code>
でエンコードされていることを指定します。</p>
<p>古いクライアントは <code>x-zip</code><code>x-compress</code>
が返ってくることを期待しますが、標準規格ではそれぞれ
<code>gzip</code><code>compress</code>
と等価であることになっています。Apache
は、コンテントエンコーディングの比較をするときには、先頭にある
<code>x-</code> を無視します。Apache
がエンコーディング付きで応答を返すときは、クライアントが要求した形式
(<em>すなわち</em><code>x-foo</code><code>foo</code>)
を使用します。要するに、この二つのエンコーディングの場合は常に
<code>x-gzip</code><code>x-compress</code>
を使うべきである、ということです。<code>deflate</code>
のようなより新しいエンコーディングでは、<code>x-</code>
なしで指定してください。
</p>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>AddHandler</name>
<description>ファイル名の拡張子を指定されたハンドラにマップする</description>
<syntax>AddHandler <var>handler-name</var> <var>extension</var>
[<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p>拡張子 <var>extension</var> が名前にあるファイルは指定された <a
href="../handler.html">handler-name</a> に扱われます。
この新しいマッピングは既にある他のマッピングに追加され、
同じ拡張子 <var>extension</var>
のためのマッピングを上書きします。たとえば、拡張子
"<code>.cgi</code>" で終わるファイルを CGI
スクリプトとして扱いたいときは、以下の設定をします。</p>
<example>
AddHandler cgi-script .cgi
</example>
<p>これを httpd.conf ファイルに記述することで、拡張子
"<code>.cgi</code>" のファイルは CGI プログラムとして扱われます。
</p>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><directive module="core">SetHandler</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>AddInputFilter</name>
<description>ファイルの拡張子をクライアントのリクエストを処理する
フィルタにマップする</description>
<syntax>AddInputFilter <var>filter</var>[;<var>filter</var>...]
<var>extension</var> [<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.26 以降で使用可能</compatibility>
<usage>
<p><directive>AddInputFilter</directive> はファイルの拡張子
<var>extension</var> をクライアントのリクエストや POST がサーバに来たときに
処理をする<a href="../filter.html">フィルタ</a>にマップします。
これは、<directive module="core">SetInputFilter</directive> ディレクティブも
含め、他の場所で定義されているフィルタに加えられます。
このマッピングはすでにあるものより優先されてマージされ、
同じ <var>extension</var> に対する既存のマッピングを上書きします。</p>
<p>複数の<var>filter</var>を指定するときは、データを処理する順番にセミコロンで
繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><directive module="mod_mime">RemoveInputFilter</directive></seealso>
<seealso><directive module="core">SetInputFilter</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>AddLanguage</name>
<description>ファイル名を指定された言語にマップ</description>
<syntax>AddLanguage <var>MIME-lang</var> <var>extension</var>
[<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>AddLanguage</directive> ディレクティブは、与えられた拡張子を指定された
content language にマップします。<var>MIME-lang</var> は、拡張子
<var>extension</var> を含んでいるファイル名の MIME における言語です。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
<var>extension</var> のためのマッピングを上書きします。</p>
<example><title></title>
AddEncoding x-compress .Z<br />
AddLanguage en .en<br />
AddLanguage fr .fr
</example>
<p>この場合、<code>xxxx.en.Z</code> ドキュメントは compress
された英語のドキュメントとして扱われます (<code>xxxx.Z.en</code>
も同様)。content language はクライアントに通知されますが、
ブラウザがこの情報を使うことはおそらくありません。
<directive>AddLanguage</directive>
ディレクティブは、サーバがクライアントの言語の優先度に基づいて複数の
ドキュメントの中からドキュメントを選ぶ<a
href="../content-negotiation.html"
>コンテントネゴシエーション</a>のためにより役に立ちます。</p>
<p>複数の言語が同じ拡張子に割り当てられているときは、
最後のものが使用されます。すなわち、次のような場合、</p>
<example>
AddLanguage en .en<br />
AddLanguage en-gb .en<br />
AddLanguage en-us .en
</example>
<p>拡張子 <code>.en</code> のあるドキュメントは
<code>en-us</code> として扱われます。</p>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><module>mod_negotiation</module></seealso>
</directivesynopsis>
<directivesynopsis>
<name>AddOutputFilter</name>
<description>ファイル名の拡張子をサーバからの応答を処理するフィルタに
マップする</description>
<syntax>AddOutputFilter <var>filter</var>[;<var>filter</var>...]
<var>extension</var> [<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.26 以降で使用可能</compatibility>
<usage>
<p><directive>AddOutputFilter</directive> ディレクティブは
拡張子 <var>extension</var> をサーバの応答がクライアントに送られる
前に処理する<a href="../filter.html">フィルタ</a>を定義します。
これは <directive module="core">SetOutputFilter</directive>
ディレクティブと <directive module="core"
>AddOutputFilterByType</directive> ディレクティブ
を含め、他の場所で定義されているフィルタに加えられます。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
<var>extension</var> のためのマッピングを上書きします。</p>
<p>例えば、以下の設定はすべての <code>.shtml</code> ファイルを SSI で処理し、
その出力を <module>mod_deflate</module> を使って圧縮します。</p>
<example>
AddOutputFilter INCLUDES;DEFLATE shtml
</example>
<p>複数のフィルタを指定するときは、データを処理する順番にセミコロンで
繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><directive module="mod_mime">RemoveOutputFilter</directive></seealso>
<seealso><directive module="core">SetOutputFilter</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>AddType</name>
<description>ファイル名の拡張子を指定されたコンテントタイプにマップ</description>
<syntax>AddType <var>MIME-type</var> <var>extension</var>
[<var>extension</var>] ...</syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>AddType</directive> ディレクティブは、
与えられた拡張子を指定されたコンテントタイプにマップします。
<var>MIME-type</var> は拡張子 <var>extension</var>
を含んだドキュメントに使用する <glossary ref="mime-type">MIME タイプ</glossary>です。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
<var>extension</var> のためのマッピングを上書きします。
このディレクティブは MIME タイプファイル (<directive
module="mod_mime">TypesConfig</directive> ディレクティブを参照)
に無いマッピングを追加するために使用することができます。</p>
<example><title></title>
AddType image/gif .gif
</example>
<p>あるいは、ひとつのディレクティブで複数のファイル拡張子を指定する場合:</p>
<example><title>Example</title>
AddType image/jpeg jpeg jpg jpe
</example>
<note>
新しい MIME タイプは、<directive module="mod_mime">TypesConfig</directive>
ファイルを変更するのではなく、<directive>AddType</directive>
ディレクティブを使って追加することが推奨されています。
</note>
<p>引数 <var>extension</var> は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
<var>extension</var>はそれぞれと比較されます。</p>
</usage>
<seealso><directive module="core">DefaultType</directive></seealso>
<seealso><directive module="core">ForceType</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>MultiviewsMatch</name>
<description>MultiViews でのマッチングの検索に含ませる
ファイルのタイプを指定する</description>
<syntax>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
[Handlers|Filters]</syntax>
<default>MultiviewsMatch NegotiatedOnly</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.26 以降で使用可能</compatibility>
<usage>
<p><directive>MultiviewsMatch</directive> を使用することで、
<a href="mod_negotiation.html">mod_negotiation</a>
Multiviews に 3 種類の異なる挙動をさせることができます。
Multiviews を使用すると、ファイル (例 <code>index.html</code>)
に対するリクエストに対して、ネゴシエーションする拡張子がベースに付いたもの
(<code>index.html.en</code>, <code>index.html.fr</code>
<code>index.html.gz</code>)
をマッチさせることができます。</p>
<p><code>NegotiatedOnly</code> オプションでは、ベース名に続く拡張子全てが
コンテントネゴシエーションで <module>mod_mime</module>
が認識する拡張子 (<em></em> 文字セット、コンテントタイプ、言語やエンコーディング)
に関連付けられていなければなりません。これは副作用の最も少ない
最も的確な実装で、デフォルトになっています。</p>
<p>ハンドラとフィルタの両方もしくは片方と関連付けられた拡張子を含めるには、
<directive>MultiviewsMatch</directive> ディレクティブに <code>Handlers</code>,
<code>Filters</code> またはその両方のオプションをセットします。
もし他の条件が同じであれば、最も小さいファイルが送信されます。
例えば、500 文字の <code>index.html.cgi</code> と 1000 バイトの
<code>index.html.pl</code> であれば、<code>.cgi</code>
のファイルが優先されます。<code>.asis</code> ファイルを利用しているユーザは、
<code>.asis</code> ファイルが <code>asis-handler</code> に関連付けられているときには、
ハンドラオプションの使用を好むでしょう。</p>
<p>最後に、<module>mod_mime</module> が認識しない拡張子であろうとも、
どんな拡張子でもマッチさせる <code>Any</code> が使用できます。
この挙動は Apache 1.3 のときと同じもので、予期しない動作、例えば <code>.old</code>
<code>.bak</code> ファイルといったウェブマスタが送信を意図していない
ファイルを送信する、といった動作を行なう可能性があります。</p>
<p>例えば次の設定では、ハンドラやフィルタが Multiviews に参加することが
できますし、未知のファイルは除外することができます。</p>
<example>
MultiviewsMatch Handlers Filters
</example>
</usage>
<seealso><directive module="core">Options</directive></seealso>
<seealso><module>mod_negotiation</module></seealso>
</directivesynopsis>
<directivesynopsis>
<name>DefaultLanguage</name>
<description>あるスコープのすべてのファイルを指定された言語に
設定する</description>
<syntax>DefaultLanguage <var>MIME-lang</var></syntax>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>DefaultLanguage</directive> ディレクティブは、Apache
がディレクティブのスコープ (<em>例えば</em>、その時点の
<directive module="core" type="section">Directory</directive>
の範囲) にある、明示的な言語拡張子
(<directive module="mod_mime">AddLanguage</directive> で設定される
<code>.fr</code><code>.de</code>) のない全てのファイルを、指定された
<var>MIME-lang</var> 言語であるとみなすようにします。
これにより、すべてのファイル名を変えることなく、
ディレクトリがオランダ語のコンテントを含んでいる、
というようなことを指定することができます。
拡張子を使用して言語を指定する方法と違い、
<directive>DefaultLanguage</directive>
は一つの言語しか指定できないことに注意してください。</p>
<p><directive>DefaultLanguage</directive>
ディレクティブが有効でなく、ファイルに
<directive module="mod_mime">AddLanguage</directive>
で設定された言語の拡張子がないときは、
ファイルには言語属性がないとみなされます。</p>
<example><title></title>
DefaultLanguage en
</example>
</usage>
<seealso><module>mod_negotiation</module></seealso>
</directivesynopsis>
<directivesynopsis>
<name>ModMimeUsePathInfo</name>
<description><code>path_info</code> コンポーネントをファイル名の一部として扱うように
<module>mod_mime</module> に通知する</description>
<syntax>ModMimeUsePathInfo On|Off</syntax>
<default>ModMimeUsePathInfo Off</default>
<contextlist><context>directory</context></contextlist>
<compatibility>Apache 2.0.41 以降</compatibility>
<usage>
<p><directive>ModMimeUsePathInfo</directive> ディレクティブは、
<module>mod_mime</module> の持つディレクティブを
リクエストに適用させるために、ファイル名と <code>path_info</code> URL
コンポーネントを結合させるために使用します。
デフォルトでは「 <code>Off</code> 」で、<code>path_info</code>
コンポーネントは無視されます。</p>
<p>このディレクティブは、バーチャルファイルシステムを使用している際に
推奨されるディレクティブです。</p>
<example><title></title>
ModMimeUsePathInfo On
</example>
<p><code>/bar</code> が存在して (foo.shtml は存在しない)
<directive>ModMimeUsePathInfo</directive><code>On</code> であるとして、
<code>/bar/foo.shtml</code> に対するリクエストを発行した場合、
<module>mod_mime</module> は入ってきたリクエストを
<code>/bar/foo.shtml</code> として扱い、
<code>AddOutputFileter INCLUDES .shtml</code> のようなディレクティブは
<code>INCLUDES</code> フィルタをリクエストに付加させます。
<directive>ModMimeUsePathInfo</directive> が設定されなければ、
<code>INCLUDES</code> フィルタは付加されません。</p>
</usage>
<seealso><directive module="core">AcceptPathInfo</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>RemoveCharset</name>
<description>ファイルの拡張子に関連付けられたすべての文字セット
を解除する</description>
<syntax>RemoveCharset <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.24 以降で使用可能</compatibility>
<usage>
<p><directive>RemoveCharset</directive> ディレクティブ
は与えられた拡張子に関連付けられた文字セットを取り消します。
これにより、サブディレクトリにある <code>.htaccess</code>
ファイルが親ディレクトリやサーバの設定ファイル
から継承した関連付けを取り消すことができます。例えば:</p>
<p><var>extension</var> は大文字小文字を区別しません。
また、最初のドットはあってもなくても構いません。</p>
<example><title></title>
RemoveCharset .html .shtml
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RemoveEncoding</name>
<description>ファイルの拡張子に関連付けられたすべてのコンテントエンコーディング
を解除する</description>
<syntax>RemoveEncoding <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>RemoveEncoding</directive> ディレクティブは、
与えられた拡張子に関連付けられたエンコーディングを取り消します。
これにより、サブディレクトリにある <code>.htaccess</code>
ファイルが親ディレクトリやサーバの設定ファイルから継承した関連付けを
取り消すことができます。</p>
<example><title>/foo/.htaccess:</title>
AddEncoding x-gzip .gz<br />
AddType text/plain .asc<br />
&lt;Files *.gz.asc&gt;<br />
<indent>
RemoveEncoding .gz<br />
</indent>
&lt;/Files&gt;
</example>
<p>これは、<code>foo.gz</code> は gzip
でエンコードされていることを指定しますが、<code>foo.gz.asc</code>
はエンコードされていないプレーンテキストの
ファイルであるということを指定します。</p>
<note><title>注意</title>
<p><directive>RemoveEncoding</directive>
<directive module="mod_mime">AddEncoding</directive>
ディレクティブの<em></em>で処理されますので、
同じディレクトリの設定中に両方が現れると、
後者の効果が打ち消される可能性があります。</p>
</note>
<p><var>extension</var> は大文字小文字を区別しません。
また、最初のドットはあってもなくても構いません。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RemoveHandler</name>
<description>ファイルの拡張子に関連付けられたすべてのハンドラを
解除する</description>
<syntax>RemoveHandler <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>RemoveHandler</directive> ディレクティブ
は与えられた拡張子に関連付けられたハンドラを取り消します。
これにより、サブディレクトリにある <code>.htaccess</code>
ファイルが親ディレクトリやサーバの設定ファイル
から継承した関連付けを取り消すことができます。たとえば:</p>
<example><title>/foo/.htaccess:</title>
AddHandler server-parsed .html
</example>
<example><title>/foo/bar/.htaccess:</title>
RemoveHandler .html
</example>
<p>これは、<code>/foo/bar</code> ディレクトリの <code>.html</code>
ファイルは SSI (<module>mod_include</module> モジュール参照) ではなく、
普通のファイルとして扱われるようにする効果があります。
</p>
<p><var>extension</var> は大文字小文字を区別しません。
また、最初のドットはあってもなくても構いません。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RemoveInputFilter</name>
<description>ファイル拡張子に関連付けられた入力フィルタを解除する</description>
<syntax>RemoveInputFilter <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.26 以降で使用可能</compatibility>
<usage>
<p><directive>RemoveInputFilter</directive> ディレクティブは
指定されたファイル拡張子に関連付けられた入力<a
href="../filter.html">フィルタ</a>を解除します。
これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
<code>.htaccess</code> ファイルで取り消すことができます。</p>
<p><var>extension</var> 引数は大文字小文字を区別しません。また、
最初のドットはあってもなくても構いません。</p>
</usage>
<seealso><directive module="mod_mime">AddInputFilter</directive></seealso>
<seealso><directive module="core">SetInputFilter</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>RemoveLanguage</name>
<description>ファイル拡張子に関連付けられた言語を解除する</description>
<syntax>RemoveLanguage <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.24 以降で使用可能</compatibility>
<usage>
<p><directive>RemoveLanguage</directive> ディレクティブは
指定されたファイル拡張子に関連付けられた言語を解除します。
これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
<code>.htaccess</code> ファイルで取り消すことができます。</p>
<p><var>extension</var> 引数は大文字小文字を区別しません。また、
最初のドットはついてもつかなくても構いません。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>RemoveOutputFilter</name>
<description>ファイル拡張子に関連付けられた出力フィルタを解除する</description>
<syntax>RemoveOutputFilter <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<compatibility>2.0.26 以降でのみ使用可能</compatibility>
<usage>
<p><directive>RemoveOutputFilter</directive> ディレクティブは
指定されたファイル拡張子に関連付けられた出力<a
href="../filter.html">フィルタ</a>を解除します。
これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
<code>.htaccess</code> ファイルで取り消すことができます。</p>
<p><var>extension</var> は大文字小文字を区別しません。
また、最初のドットはあってもなくても構いません。</p>
<example><title></title>
RemoveOutputFilter shtml
</example>
</usage>
<seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<name>RemoveType</name>
<description>ファイルの拡張子と関連付けられたコンテントタイプを
解除する</description>
<syntax>RemoveType <var>extension</var> [<var>extension</var>]
...</syntax>
<contextlist><context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
<usage>
<p><directive>RemoveType</directive> ディレクティブは与えられた拡張子の
<glossary ref="mime-type">MIME タイプ</glossary>
の関連付けを取り消します。これにより、
サブディレクトリにある <code>.htaccess</code>
ファイルが親ディレクトリやサーバの設定ファイルから継承した
関連付けを取り消すことができます。たとえば:</p>
<example><title>/foo/.htaccess:</title>
RemoveType .cgi
</example>
<p>これは <code>/foo/</code> ディレクトリ以下の <code>.cgi</code>
ファイルの特別な扱いを取り消します。ファイルは <directive
module="core">DefaultType</directive> として扱われます。</p>
<note><title>注意</title>
<p><directive>RemoveType</directive> ディレクティブは
<directive module="mod_mime">AddType</directive>
ディレクティブの<em></em>に処理されますので、
両方が同じディレクトリの設定中に現れた場合、
後者の効果が打ち消される可能性があります。</p>
</note>
<p><var>extension</var> は大文字小文字を区別しません。
また、最初のドットはあってもなくても構いません。</p>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>TypesConfig</name>
<description><code>mime.types</code> ファイルの位置</description>
<syntax>TypesConfig <var>file-path</var></syntax>
<default>TypesConfig conf/mime.types</default>
<contextlist><context>server config</context></contextlist>
<usage>
<p><directive>TypesConfig</directive> ディレクティブは、
<glossary ref="mime-type">MIME タイプ</glossary>
設定ファイルの位置を設定します。<var>file-path</var>
<directive module="core">ServerRoot</directive> からの相対パスです。
このファイルはファイルの拡張子からコンテントタイプへの
デフォルトのマッピングを設定します。
ほとんどの管理者は、よく使われるファイル名の拡張子を
IANA に登録されたコンテントタイプに関連付けている、
Apache の <code>mime.types</code> ファイルを使います。
現在の一覧は <a href=
"http://www.iana.org/assignments/media-types/index.html"
>http://www.iana.org/assignments/media-types/index.html</a>
で管理されています。これは、主要なメディアタイプの定義を提供して、
必要ところを <directive module="mod_mime">AddType</directive>
上書きする、という方法で <code>httpd.conf</code> を簡略にします。
<code>mime.types</code> はサーバをアップグレードしたときに
置き換えられるかもしれないので、そのファイルを直接
編集しないでください。</p>
<p>ファイルは、<directive module="mod_mime">AddType</directive>
ディレクティブの引数と同じ形式の行で構成されます。</p>
<example>
<var>MIME-type</var> [<var>extension</var>] ...
</example>
<p>拡張子の大文字小文字は区別されません。空行やハッシュ (`#')
で始まる行は無視されます。</p>
<note>
(1) IANA に既に登録されている、あるいは (2)
広く受け入れられていてプラットホーム間でファイル拡張子に衝突がない、
という場合でなければ、配布中の <code>mime.types</code>
ファイルに新たなものを登録するように
Apache HTTP Server Project にリクエストしないでください。
<code>category/x-subtype</code> のリクエストは自動的に却下されますし、
言語や文字セットの名前空間で既に使用されていて、衝突の可能性のある
2 文字の拡張子も却下されます。
</note>
</usage>
<seealso><module>mod_mime_magic</module></seealso>
</directivesynopsis>
</modulesynopsis>