1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 659902:1331214 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <modulesynopsis metafile="mod_mime.xml.meta">
26 <description>リクエストされたファイルの拡張子とファイルの振る舞い
27 (ハンドラとフィルタ)、内容 (MIME タイプ、言語、文字セット、エンコーディング)
30 <sourcefile>mod_mime.c</sourcefile>
31 <identifier>mime_module</identifier>
34 <p>このモジュールは拡張子を使っていろいろな「メタ情報」をファイルに
35 関連付けるために使用されます。この情報はドキュメントのファイル名と
36 MIME タイプ、言語、文字セット、エンコーディングとを関連付けます。
37 この情報はブラウザに送られますし、複数のファイルの中からユーザの好みの
38 ものが選ばれるように、コンテントネゴシエーションでも使われます。
39 <a href="../content-negotiation.html">コンテントネゴシエーション</a>
40 に関する詳しい情報は <module>mod_negotiation</module>
43 <p><directive module="mod_mime">AddCharset</directive> ディレクティブ、
44 <directive module="mod_mime">AddEncoding</directive> ディレクティブ、
45 <directive module="mod_mime">AddHandler</directive> ディレクティブ、
46 <directive module="mod_mime">AddLanguage</directive> ディレクティブ、
47 <directive module="mod_mime">AddType</directive> ディレクティブはすべて、
48 ファイルの拡張子をメタ情報にマップするために使用されます。
49 それぞれ、ドキュメントの文字セット <transnote>charset</transnote>、content-encoding,
50 content-language, <glossary ref="mime-type">MIME タイプ</glossary> (content-type) を設定します。
51 <directive module="mod_mime">TypesConfig</directive> ディレクティブは拡張子を
52 MIME タイプにマップするファイルを指定するために使用されます。</p>
54 <p>さらに、<module>mod_mime</module> はコンテンツを作成、処理する
55 <a href="../handler.html">ハンドラ</a> と <a href="../filter.html">フィルタ</a>
56 を設定することができます。<directive
57 module="mod_mime">AddHandler</directive> ディレクティブ、<directive
58 module="mod_mime">AddOutputFilter</directive> ディレクティブ、<directive
59 module="mod_mime">AddInputFilter</directive> ディレクティブは
60 ドキュメントを扱うモジュールやスクリプトを制御します。
61 <directive module="mod_mime">MultiviewsMatch</directive> ディレクティブは
62 これらのディレクティブが指定したファイルの拡張子を
63 <module>mod_negotiation</module> が Multiviews のマッチをとるときに
66 <p><module>mod_mime</module> はメタ情報をファイル名と関連付けますが、
67 <module>core</module> サーバにはあるコンテナ
68 (<em>たとえば</em>, <directive type="section"
69 module="core">Location</directive>, <directive type="section"
70 module="core">Directory</directive>, <directive type="section"
71 module="core">Files</directive>) の中のすべてのファイルを特定の
72 メタ情報と関連付けるディレクティブがあります。これらのディレクティブには
74 module="core">ForceType</directive>, <directive
75 module="core">SetHandler</directive>, <directive
76 module="core">SetInputFilter</directive>, <directive
77 module="core">SetOutputFilter</directive> があります。
78 コアのディレクティブは <module>mod_mime</module> により定義された
79 ファイル名の拡張子のマッピングすべてを上書きします。</p>
81 <p>ファイルのメタ情報を変えても <code>Last-Modified</code>
82 ヘッダの値は変わらないことに注意してください。ですから、
83 それらを変更した場合は、クライアントやプロキシで以前にキャッシュされた
84 コピーがそのときのヘッダとともに使われる可能性があります。
85 メタ情報 (言語、コンテントタイプ、文字セット、エンコーディング) を
86 変更したときは、すべての訪問者が正しいコンテントヘッダを
87 受け取るように、影響を受けるファイルに 'touch' コマンドを実行する
88 (最終更新日を更新する) 必要があるかもしれません。</p>
92 module="mod_mime_magic">MimeMagicFile</directive></seealso>
93 <seealso><directive module="core">AddDefaultCharset</directive></seealso>
94 <seealso><directive module="core">ForceType</directive></seealso>
95 <seealso><directive module="core">DefaultType</directive></seealso>
96 <seealso><directive module="core">SetHandler</directive></seealso>
97 <seealso><directive module="core">SetInputFilter</directive></seealso>
98 <seealso><directive module="core">SetOutputFilter</directive></seealso>
100 <section id="multipleext"><title>複数の拡張子のあるファイル</title>
101 <p>ファイルは複数の拡張子を持つことができ、拡張子の順番は<em
102 >通常は</em>関係ありません。例えば、ファイル <code>welcome.html.fr</code>
103 がコンテントタイプは <code>text/html</code>
104 に、言語はフランス語にマップされる場合、<code>welcome.fr.html</code>
106 同じメタ情報にマップされる拡張子が複数あるときには、言語と
108 右側にあるものが使用されます。たとえば、<code>.gif</code> が <glossary
109 ref="mime-type">MIME タイプ</glossary> <code>image/gif</code> にマップされ、<code>.html</code>
110 が MIME タイプ <code>text/html</code>
111 にマップされる場合は、ファイル <code>welcome.gif.html</code> は
112 MIME タイプ <code>text/html</code> に関連付けられます。</p>
114 <p>リソースに複数の言語やエンコーディングを関連付けること
116 <a href="#charset-lang">言語</a>と<a href="#contentencoding"
117 >コンテントエンコーディング</a>は前のものに追加されていきます。
118 たとえば、ファイル <code>welcome.html.en.de</code> は
119 <code>Content-Language: en, de</code> と <code>Content-Type:
120 text/html</code> として送信されます。</p>
122 <p>複数の拡張子のあるファイルが <glossary ref="mime-type">MIME
123 タイプ</glossary>とハンドラの両方に関連付けられているときは注意する必要があります。
124 その場合、普通はリクエストがハンドラに関連付けられた
125 モジュールによって扱われることになります。たとえば、拡張子
126 <code>.imap</code> が (<module>mod_imagemap</module> の) <code>imap-file</code>
127 にマップされていて、<code>.html</code> が MIME タイプ <code>text/html</code>
128 にマップされているときは、ファイル <code>world.imap.html</code> は
129 <code>imap-file</code> ハンドラと <code>text/html</code> MIME
130 タイプに関連付けられます。ファイルが処理されるときは <code>imap-file</code>
131 ハンドラが使用されますので、そのファイルは <module>mod_imagemap</module>
132 のイメージマップファイルとして扱われることになります。</p>
134 <p>ファイル名のドット区切りでの最後の部分を使って、
135 特定の部分のメタデータにマッピングしたい場合は、
136 <code>Add*</code> ディレクティブは使わないでください。
137 たとえば <code>foo.html.cgi</code> を CGI スクリプトとして処理したいけれども、
138 <code>bar.cgi.html</code> は CGI スクリプトとしては処理したくない場合、
139 <code>AddHandler cgi-script .cgi</code> とする代わりに
142 <example><title>Configure handler based on final extension only</title>
143 <FilesMatch \.cgi$>
145 SetHandler cgi-script
152 <section id="contentencoding"><title>コンテントエンコーディング</title>
153 <p>特定の <glossary ref="mime-type">MIME タイプ</glossary>
154 のファイルはインターネットでの転送を簡単にするために、
155 さらに符号化することができます。これは通常は <code>gzip</code> の
156 ような圧縮のことを指しますが、<code>pgp</code> のような暗号化や、
157 バイナリファイルを ASCII (テキスト) 形式で送るために考案された
158 UUencoding のことを指すこともあります。</p>
160 <p><a href="http://www.ietf.org/rfc/rfc2616.txt">HTTP/1.1 RFC</a>
161 14.11 節では次のように記述されています。</p>
163 <blockquote cite="http://www.ietf.org/rfc/rfc2616.txt">
164 <p>Content-Encoding エンティティヘッダフィールドはメディアタイプの
165 修飾子として使われます。それが存在していれば、値はエンティティボディに
166 どの追加の符号化が適用されたかを示し、Content-Type ヘッダフィールドに
167 書かれているメディアタイプを得るためにどの復号機構を適用すべきか、も
168 示していることになります。Content-Encoding は主に、元のメディアタイプの
169 同一性を失うことなくドキュメントを圧縮することを可能にするために
173 <p>複数のファイル拡張子 (複数の拡張子については <a
174 href="#multipleext">上の節</a> を参照) 使うことで、
175 ファイルの<em>タイプ</em>や<em>エンコーディング</em>を指定することが
178 <p>たとえば、Microsoft Word のドキュメントがあり、サイズを小さくするために
179 pkzip されているとします。<code>.doc</code> 拡張子が Microsoft Word の
180 ファイルタイプと関連付けられていて、<code>.zip</code> 拡張子が
181 pkzip ファイルエンコーディングと関連付けられていると、ファイル
182 <code>Resume.doc.zip</code> は pkzip された Word ドキュメントである
185 <p>クライアントのブラウザにエンコーディング方法を知らせるために、
186 Apache はリソースと共に <code>Content-Encoding</code> ヘッダを
189 <example>Content-encoding: pkzip</example>
192 <section id="charset-lang"><title>文字セットと言語</title>
193 <p>ファイルタイプとファイルエンコーディングの他に重要な情報は
194 ドキュメントの書かれている言語と、どの文字セットでファイルが表示
195 されるべきか、というものです。たとえば、ドキュメントはベトナムの
196 アルファベットやキリル文字で書かれていて、そのように表示される
197 必要があるかもしれません。この情報もまた、HTTP ヘッダで
200 <p>文字セット、言語、エンコーディング、mime タイプはすべて
201 コンテントネゴシエーション (<module>mod_negotiation</module> 参照)
202 の最中に、複数の文字セット、言語、エンコーディング、MIME タイプからなる
203 代替物があるときにどのドキュメントをクライアントに送るのかを
204 決定するときに使われます。<directive module="mod_mime">AddCharset</directive>,
205 <directive module="mod_mime">AddEncoding</directive>, <directive
206 module="mod_mime">AddLanguage</directive>,
207 <directive module="mod_mime">AddType</directive> の各ディレクティブで作成された
208 拡張子の関連付け (と <directive module="mod_mime_magic"
209 >MimeMagicFile</directive> でリストされている
210 拡張子) がこの選択に参加します。<directive module="mod_mime"
211 >AddHandler</directive>,
212 <directive module="mod_mime">AddInputFilter</directive>,
213 <directive module="mod_mime">AddOutputFilter</directive> の
214 各ディレクティブでのみ関連付けられている拡張子は
215 <directive module="mod_mime">MultiviewsMatch</directive> ディレクティブを
217 処理に含めることも外すこともできます。</p>
219 <section id="charset"><title>Charset</title>
220 <p>さらに情報を伝えるために、Apache は文書の言語を
221 <code>Content-Language</code> ヘッダで送ることもあります。
222 また、情報を正しく表示するために使用すべき文字セットを示すために
223 <code>Conten-Type</code> ヘッダに情報を追加することもあります。</p>
226 Content-Language: en, fr<br />
227 Content-Type: text/plain; charset=ISO-8859-1
230 <p>言語の指定は二文字の短縮形で行なわれます。<code>charset</code> が
236 <name>AddCharset</name>
237 <description>ファイル名の拡張子を指定された文字セットにマップする</description>
238 <syntax>AddCharset <var>charset</var> <var>extension</var>
239 [<var>extension</var>] ...</syntax>
240 <contextlist><context>server config</context><context>virtual host</context>
241 <context>directory</context><context>.htaccess</context></contextlist>
242 <override>FileInfo</override>
245 <p><directive>AddCharset</directive> ディレクティブは、
246 与えられた拡張子を指定された charset にマップします。<var>charset</var>
247 は、拡張子 <var>extension</var> を含んでいるファイル名の
248 <a href="http://www.iana.org/assignments/character-sets">MIME charset
249 パラメータ</a>です。新しいマッピングは既にある他のマッピングに追加され、同じ拡張子
250 <var>extension</var> のためのマッピングを上書きします。</p>
252 <example><title>例</title>
253 AddLanguage ja .ja<br />
254 AddCharset EUC-JP .euc<br />
255 AddCharset ISO-2022-JP .jis<br />
256 AddCharset SHIFT_JIS .sjis
259 <p>この場合、ドキュメント <code>xxxx.ja.jis</code> は charset が
260 <code>ISO-2022-JP</code> の日本語のドキュメントとして扱われます
261 (<code>xxxx.jis.ja</code> も同様)。<directive>AddCharset</directive>
262 ディレクティブは、ドキュメントが適切に解釈され表示されるように、
263 ドキュメントの charset の情報をクライアントに教えるために役に立ちます。
264 また、サーバがクライアントの charset
265 の優先度に基づいて複数のドキュメントの中からドキュメントを選ぶ<a
266 href="../content-negotiation.html"
267 >コンテントネゴシエーション</a>のためにも役に立ちます。</p>
269 <p>引数 <var>extension</var>は大文字小文字を区別せず、
270 最初のドットはあってもなくても構いません。
271 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
272 <var>extension</var>はそれぞれと比較されます。</p>
274 <seealso><module>mod_negotiation</module></seealso>
275 <seealso><directive module="core">AddDefaultCharset</directive></seealso>
279 <name>AddEncoding</name>
280 <description>ファイル名の拡張子を指定されたエンコーディング
282 <syntax>AddEncoding <var>MIME-enc</var> <var>extension</var>
283 [<var>extension</var>] ...</syntax>
284 <contextlist><context>server config</context><context>virtual host</context>
285 <context>directory</context><context>.htaccess</context></contextlist>
286 <override>FileInfo</override>
289 <p><directive>AddEncoding</directive> ディレクティブは、
290 与えられた拡張子を指定されたエンコーディングにマップします。
291 <var>MIME-enc</var> は、拡張子 <var>extension</var>
292 を含んだドキュメントに使用する MIME エンコーディングです。
293 この新しいマッピングは既にある他のマッピングに追加され、
294 同じ拡張子 <var>extension</var> のためのマッピングを上書きします。</p>
296 <example><title>例</title>
297 <code>AddEncoding x-gzip .gz<br />
298 AddEncoding x-compress .Z</code>
301 <p>これは、拡張子 <code>.gz</code> を含むファイル名が <code>x-gzip</code>
302 エンコーディングを使ってエンコードされていることと、拡張子 <code>.Z</code>
303 を含むファイル名が <code>x-compress</code>
304 でエンコードされていることを指定します。</p>
306 <p>古いクライアントは <code>x-zip</code> と <code>x-compress</code>
307 が返ってくることを期待しますが、標準規格ではそれぞれ
308 <code>gzip</code> と <code>compress</code>
309 と等価であることになっています。Apache
310 は、コンテントエンコーディングの比較をするときには、先頭にある
311 <code>x-</code> を無視します。Apache
312 がエンコーディング付きで応答を返すときは、クライアントが要求した形式
313 (<em>すなわち</em>、<code>x-foo</code> や <code>foo</code>)
314 を使用します。要するに、この二つのエンコーディングの場合は常に
315 <code>x-gzip</code> と <code>x-compress</code>
316 を使うべきである、ということです。<code>deflate</code>
317 のようなより新しいエンコーディングでは、<code>x-</code>
321 <p>引数 <var>extension</var> は大文字小文字を区別せず、
322 最初のドットはあってもなくても構いません。
323 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
324 <var>extension</var>はそれぞれと比較されます。</p>
329 <name>AddHandler</name>
330 <description>ファイル名の拡張子を指定されたハンドラにマップする</description>
331 <syntax>AddHandler <var>handler-name</var> <var>extension</var>
332 [<var>extension</var>] ...</syntax>
333 <contextlist><context>server config</context><context>virtual host</context>
334 <context>directory</context><context>.htaccess</context></contextlist>
335 <override>FileInfo</override>
338 <p>拡張子 <var>extension</var> が名前にあるファイルは指定された <a
339 href="../handler.html">handler-name</a> に扱われます。
340 この新しいマッピングは既にある他のマッピングに追加され、
341 同じ拡張子 <var>extension</var>
342 のためのマッピングを上書きします。たとえば、拡張子
343 "<code>.cgi</code>" で終わるファイルを CGI
344 スクリプトとして扱いたいときは、以下の設定をします。</p>
347 AddHandler cgi-script .cgi
350 <p>これを httpd.conf ファイルに記述することで、拡張子
351 "<code>.cgi</code>" のファイルは CGI プログラムとして扱われます。
354 <p>引数 <var>extension</var> は大文字小文字を区別せず、
355 最初のドットはあってもなくても構いません。
356 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
357 <var>extension</var>はそれぞれと比較されます。</p>
359 <seealso><directive module="core">SetHandler</directive></seealso>
363 <name>AddInputFilter</name>
364 <description>ファイルの拡張子をクライアントのリクエストを処理する
365 フィルタにマップする</description>
366 <syntax>AddInputFilter <var>filter</var>[;<var>filter</var>...]
367 <var>extension</var> [<var>extension</var>] ...</syntax>
368 <contextlist><context>server config</context><context>virtual host</context>
369 <context>directory</context><context>.htaccess</context></contextlist>
370 <override>FileInfo</override>
371 <compatibility>2.0.26 以降で使用可能</compatibility>
374 <p><directive>AddInputFilter</directive> はファイルの拡張子
375 <var>extension</var> をクライアントのリクエストや POST がサーバに来たときに
376 処理をする<a href="../filter.html">フィルタ</a>にマップします。
377 これは、<directive module="core">SetInputFilter</directive> ディレクティブも
378 含め、他の場所で定義されているフィルタに加えられます。
379 このマッピングはすでにあるものより優先されてマージされ、
380 同じ <var>extension</var> に対する既存のマッピングを上書きします。</p>
382 <p>複数の<var>filter</var>を指定するときは、データを処理する順番にセミコロンで
383 繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p>
385 <p>引数 <var>extension</var> は大文字小文字を区別せず、
386 最初のドットはあってもなくても構いません。
387 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
388 <var>extension</var>はそれぞれと比較されます。</p>
391 <seealso><directive module="mod_mime">RemoveInputFilter</directive></seealso>
392 <seealso><directive module="core">SetInputFilter</directive></seealso>
396 <name>AddLanguage</name>
397 <description>ファイル名を指定された言語にマップ</description>
398 <syntax>AddLanguage <var>MIME-lang</var> <var>extension</var>
399 [<var>extension</var>] ...</syntax>
400 <contextlist><context>server config</context><context>virtual host</context>
401 <context>directory</context><context>.htaccess</context></contextlist>
402 <override>FileInfo</override>
405 <p><directive>AddLanguage</directive> ディレクティブは、与えられた拡張子を指定された
406 content language にマップします。<var>MIME-lang</var> は、拡張子
407 <var>extension</var> を含んでいるファイル名の MIME における言語です。
408 この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
409 <var>extension</var> のためのマッピングを上書きします。</p>
411 <example><title>例</title>
412 AddEncoding x-compress .Z<br />
413 AddLanguage en .en<br />
417 <p>この場合、<code>xxxx.en.Z</code> ドキュメントは compress
418 された英語のドキュメントとして扱われます (<code>xxxx.Z.en</code>
419 も同様)。content language はクライアントに通知されますが、
420 ブラウザがこの情報を使うことはおそらくありません。
421 <directive>AddLanguage</directive>
422 ディレクティブは、サーバがクライアントの言語の優先度に基づいて複数の
423 ドキュメントの中からドキュメントを選ぶ<a
424 href="../content-negotiation.html"
425 >コンテントネゴシエーション</a>のためにより役に立ちます。</p>
427 <p>複数の言語が同じ拡張子に割り当てられているときは、
428 最後のものが使用されます。すなわち、次のような場合、</p>
431 AddLanguage en .en<br />
432 AddLanguage en-gb .en<br />
433 AddLanguage en-us .en
436 <p>拡張子 <code>.en</code> のあるドキュメントは
437 <code>en-us</code> として扱われます。</p>
439 <p>引数 <var>extension</var> は大文字小文字を区別せず、
440 最初のドットはあってもなくても構いません。
441 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
442 <var>extension</var>はそれぞれと比較されます。</p>
444 <seealso><module>mod_negotiation</module></seealso>
448 <name>AddOutputFilter</name>
449 <description>ファイル名の拡張子をサーバからの応答を処理するフィルタに
451 <syntax>AddOutputFilter <var>filter</var>[;<var>filter</var>...]
452 <var>extension</var> [<var>extension</var>] ...</syntax>
453 <contextlist><context>server config</context><context>virtual host</context>
454 <context>directory</context><context>.htaccess</context></contextlist>
455 <override>FileInfo</override>
456 <compatibility>2.0.26 以降で使用可能</compatibility>
459 <p><directive>AddOutputFilter</directive> ディレクティブは
460 拡張子 <var>extension</var> をサーバの応答がクライアントに送られる
461 前に処理する<a href="../filter.html">フィルタ</a>を定義します。
462 これは <directive module="core">SetOutputFilter</directive>
463 ディレクティブと <directive module="core"
464 >AddOutputFilterByType</directive> ディレクティブ
465 を含め、他の場所で定義されているフィルタに加えられます。
466 この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
467 <var>extension</var> のためのマッピングを上書きします。</p>
469 <p>例えば、以下の設定はすべての <code>.shtml</code> ファイルを SSI で処理し、
470 その出力を <module>mod_deflate</module> を使って圧縮します。</p>
473 AddOutputFilter INCLUDES;DEFLATE shtml
476 <p>複数のフィルタを指定するときは、データを処理する順番にセミコロンで
477 繋いで書く必要があります。<var>filter</var> は大文字小文字を区別しません。</p>
479 <p>引数 <var>extension</var> は大文字小文字を区別せず、
480 最初のドットはあってもなくても構いません。
481 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
482 <var>extension</var>はそれぞれと比較されます。</p>
484 <seealso><directive module="mod_mime">RemoveOutputFilter</directive></seealso>
485 <seealso><directive module="core">SetOutputFilter</directive></seealso>
490 <description>ファイル名の拡張子を指定されたコンテントタイプにマップ</description>
491 <syntax>AddType <var>MIME-type</var> <var>extension</var>
492 [<var>extension</var>] ...</syntax>
493 <contextlist><context>server config</context><context>virtual host</context>
494 <context>directory</context><context>.htaccess</context></contextlist>
495 <override>FileInfo</override>
498 <p><directive>AddType</directive> ディレクティブは、
499 与えられた拡張子を指定されたコンテントタイプにマップします。
500 <var>MIME-type</var> は拡張子 <var>extension</var>
501 を含んだドキュメントに使用する <glossary ref="mime-type">MIME タイプ</glossary>です。
502 この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
503 <var>extension</var> のためのマッピングを上書きします。
504 このディレクティブは MIME タイプファイル (<directive
505 module="mod_mime">TypesConfig</directive> ディレクティブを参照)
506 に無いマッピングを追加するために使用することができます。</p>
508 <example><title>例</title>
509 AddType image/gif .gif
512 <p>あるいは、ひとつのディレクティブで複数のファイル拡張子を指定する場合:</p>
514 <example><title>Example</title>
515 AddType image/jpeg jpeg jpg jpe
519 新しい MIME タイプは、<directive module="mod_mime">TypesConfig</directive>
520 ファイルを変更するのではなく、<directive>AddType</directive>
521 ディレクティブを使って追加することが推奨されています。
524 <p>引数 <var>extension</var> は大文字小文字を区別せず、
525 最初のドットはあってもなくても構いません。
526 ファイル名は<a href="#multipleext">複数の拡張子</a>を持つことができ、
527 <var>extension</var>はそれぞれと比較されます。</p>
529 <seealso><directive module="core">DefaultType</directive></seealso>
530 <seealso><directive module="core">ForceType</directive></seealso>
534 <name>MultiviewsMatch</name>
535 <description>MultiViews でのマッチングの検索に含ませる
536 ファイルのタイプを指定する</description>
537 <syntax>MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
538 [Handlers|Filters]</syntax>
539 <default>MultiviewsMatch NegotiatedOnly</default>
540 <contextlist><context>server config</context><context>virtual host</context>
541 <context>directory</context><context>.htaccess</context></contextlist>
542 <override>FileInfo</override>
543 <compatibility>2.0.26 以降で使用可能</compatibility>
546 <p><directive>MultiviewsMatch</directive> を使用することで、
547 <a href="mod_negotiation.html">mod_negotiation</a> の
548 Multiviews に 3 種類の異なる挙動をさせることができます。
549 Multiviews を使用すると、ファイル (例 <code>index.html</code>)
550 に対するリクエストに対して、ネゴシエーションする拡張子がベースに付いたもの
551 (<code>index.html.en</code>, <code>index.html.fr</code> や
552 <code>index.html.gz</code>)
555 <p><code>NegotiatedOnly</code> オプションでは、ベース名に続く拡張子全てが
556 コンテントネゴシエーションで <module>mod_mime</module>
557 が認識する拡張子 (<em>例</em> 文字セット、コンテントタイプ、言語やエンコーディング)
558 に関連付けられていなければなりません。これは副作用の最も少ない
559 最も的確な実装で、デフォルトになっています。</p>
561 <p>ハンドラとフィルタの両方もしくは片方と関連付けられた拡張子を含めるには、
562 <directive>MultiviewsMatch</directive> ディレクティブに <code>Handlers</code>,
563 <code>Filters</code> またはその両方のオプションをセットします。
564 もし他の条件が同じであれば、最も小さいファイルが送信されます。
565 例えば、500 文字の <code>index.html.cgi</code> と 1000 バイトの
566 <code>index.html.pl</code> であれば、<code>.cgi</code>
567 のファイルが優先されます。<code>.asis</code> ファイルを利用しているユーザは、
568 <code>.asis</code> ファイルが <code>asis-handler</code> に関連付けられているときには、
569 ハンドラオプションの使用を好むでしょう。</p>
571 <p>最後に、<module>mod_mime</module> が認識しない拡張子であろうとも、
572 どんな拡張子でもマッチさせる <code>Any</code> が使用できます。
573 この挙動は Apache 1.3 のときと同じもので、予期しない動作、例えば <code>.old</code> や
574 <code>.bak</code> ファイルといったウェブマスタが送信を意図していない
575 ファイルを送信する、といった動作を行なう可能性があります。</p>
577 <p>例えば次の設定では、ハンドラやフィルタが Multiviews に参加することが
578 できますし、未知のファイルは除外することができます。</p>
581 MultiviewsMatch Handlers Filters
585 <seealso><directive module="core">Options</directive></seealso>
586 <seealso><module>mod_negotiation</module></seealso>
590 <name>DefaultLanguage</name>
591 <description>あるスコープのすべてのファイルを指定された言語に
593 <syntax>DefaultLanguage <var>MIME-lang</var></syntax>
594 <contextlist><context>server config</context><context>virtual host</context>
595 <context>directory</context><context>.htaccess</context></contextlist>
596 <override>FileInfo</override>
599 <p><directive>DefaultLanguage</directive> ディレクティブは、Apache
600 がディレクティブのスコープ (<em>例えば</em>、その時点の
601 <directive module="core" type="section">Directory</directive>
603 (<directive module="mod_mime">AddLanguage</directive> で設定される
604 <code>.fr</code> や <code>.de</code>) のない全てのファイルを、指定された
605 <var>MIME-lang</var> 言語であるとみなすようにします。
606 これにより、すべてのファイル名を変えることなく、
607 ディレクトリがオランダ語のコンテントを含んでいる、
608 というようなことを指定することができます。
609 拡張子を使用して言語を指定する方法と違い、
610 <directive>DefaultLanguage</directive>
611 は一つの言語しか指定できないことに注意してください。</p>
613 <p><directive>DefaultLanguage</directive>
615 <directive module="mod_mime">AddLanguage</directive>
617 ファイルには言語属性がないとみなされます。</p>
619 <example><title>例</title>
623 <seealso><module>mod_negotiation</module></seealso>
627 <name>ModMimeUsePathInfo</name>
628 <description><code>path_info</code> コンポーネントをファイル名の一部として扱うように
629 <module>mod_mime</module> に通知する</description>
630 <syntax>ModMimeUsePathInfo On|Off</syntax>
631 <default>ModMimeUsePathInfo Off</default>
632 <contextlist><context>directory</context></contextlist>
633 <compatibility>Apache 2.0.41 以降</compatibility>
636 <p><directive>ModMimeUsePathInfo</directive> ディレクティブは、
637 <module>mod_mime</module> の持つディレクティブを
638 リクエストに適用させるために、ファイル名と <code>path_info</code> URL
639 コンポーネントを結合させるために使用します。
640 デフォルトでは「 <code>Off</code> 」で、<code>path_info</code>
643 <p>このディレクティブは、バーチャルファイルシステムを使用している際に
646 <example><title>例</title>
647 ModMimeUsePathInfo On
650 <p><code>/bar</code> が存在して (foo.shtml は存在しない)
651 <directive>ModMimeUsePathInfo</directive> が <code>On</code> であるとして、
652 <code>/bar/foo.shtml</code> に対するリクエストを発行した場合、
653 <module>mod_mime</module> は入ってきたリクエストを
654 <code>/bar/foo.shtml</code> として扱い、
655 <code>AddOutputFileter INCLUDES .shtml</code> のようなディレクティブは
656 <code>INCLUDES</code> フィルタをリクエストに付加させます。
657 <directive>ModMimeUsePathInfo</directive> が設定されなければ、
658 <code>INCLUDES</code> フィルタは付加されません。</p>
660 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
664 <name>RemoveCharset</name>
665 <description>ファイルの拡張子に関連付けられたすべての文字セット
667 <syntax>RemoveCharset <var>extension</var> [<var>extension</var>]
669 <contextlist><context>virtual host</context><context>directory</context>
670 <context>.htaccess</context></contextlist>
671 <override>FileInfo</override>
672 <compatibility>2.0.24 以降で使用可能</compatibility>
675 <p><directive>RemoveCharset</directive> ディレクティブ
676 は与えられた拡張子に関連付けられた文字セットを取り消します。
677 これにより、サブディレクトリにある <code>.htaccess</code>
678 ファイルが親ディレクトリやサーバの設定ファイル
679 から継承した関連付けを取り消すことができます。例えば:</p>
681 <p><var>extension</var> は大文字小文字を区別しません。
682 また、最初のドットはあってもなくても構いません。</p>
684 <example><title>例</title>
685 RemoveCharset .html .shtml
691 <name>RemoveEncoding</name>
692 <description>ファイルの拡張子に関連付けられたすべてのコンテントエンコーディング
694 <syntax>RemoveEncoding <var>extension</var> [<var>extension</var>]
696 <contextlist><context>virtual host</context><context>directory</context>
697 <context>.htaccess</context></contextlist>
698 <override>FileInfo</override>
701 <p><directive>RemoveEncoding</directive> ディレクティブは、
702 与えられた拡張子に関連付けられたエンコーディングを取り消します。
703 これにより、サブディレクトリにある <code>.htaccess</code>
704 ファイルが親ディレクトリやサーバの設定ファイルから継承した関連付けを
707 <example><title>/foo/.htaccess:</title>
708 AddEncoding x-gzip .gz<br />
709 AddType text/plain .asc<br />
710 <Files *.gz.asc><br />
712 RemoveEncoding .gz<br />
717 <p>これは、<code>foo.gz</code> は gzip
718 でエンコードされていることを指定しますが、<code>foo.gz.asc</code>
719 はエンコードされていないプレーンテキストの
720 ファイルであるということを指定します。</p>
722 <note><title>注意</title>
723 <p><directive>RemoveEncoding</directive> は
724 <directive module="mod_mime">AddEncoding</directive>
725 ディレクティブの<em>後</em>で処理されますので、
726 同じディレクトリの設定中に両方が現れると、
727 後者の効果が打ち消される可能性があります。</p>
730 <p><var>extension</var> は大文字小文字を区別しません。
731 また、最初のドットはあってもなくても構いません。</p>
736 <name>RemoveHandler</name>
737 <description>ファイルの拡張子に関連付けられたすべてのハンドラを
739 <syntax>RemoveHandler <var>extension</var> [<var>extension</var>]
741 <contextlist><context>virtual host</context><context>directory</context>
742 <context>.htaccess</context></contextlist>
743 <override>FileInfo</override>
746 <p><directive>RemoveHandler</directive> ディレクティブ
747 は与えられた拡張子に関連付けられたハンドラを取り消します。
748 これにより、サブディレクトリにある <code>.htaccess</code>
749 ファイルが親ディレクトリやサーバの設定ファイル
750 から継承した関連付けを取り消すことができます。たとえば:</p>
752 <example><title>/foo/.htaccess:</title>
753 AddHandler server-parsed .html
756 <example><title>/foo/bar/.htaccess:</title>
760 <p>これは、<code>/foo/bar</code> ディレクトリの <code>.html</code>
761 ファイルは SSI (<module>mod_include</module> モジュール参照) ではなく、
762 普通のファイルとして扱われるようにする効果があります。
765 <p><var>extension</var> は大文字小文字を区別しません。
766 また、最初のドットはあってもなくても構いません。</p>
771 <name>RemoveInputFilter</name>
772 <description>ファイル拡張子に関連付けられた入力フィルタを解除する</description>
773 <syntax>RemoveInputFilter <var>extension</var> [<var>extension</var>]
775 <contextlist><context>virtual host</context><context>directory</context>
776 <context>.htaccess</context></contextlist>
777 <override>FileInfo</override>
778 <compatibility>2.0.26 以降で使用可能</compatibility>
781 <p><directive>RemoveInputFilter</directive> ディレクティブは
782 指定されたファイル拡張子に関連付けられた入力<a
783 href="../filter.html">フィルタ</a>を解除します。
784 これを利用することで、親ディレクトリやサーバ設定ファイルから
785 継承した関連付けを サブディレクトリ内において
786 <code>.htaccess</code> ファイルで取り消すことができます。</p>
788 <p><var>extension</var> 引数は大文字小文字を区別しません。また、
789 最初のドットはあってもなくても構いません。</p>
791 <seealso><directive module="mod_mime">AddInputFilter</directive></seealso>
792 <seealso><directive module="core">SetInputFilter</directive></seealso>
796 <name>RemoveLanguage</name>
797 <description>ファイル拡張子に関連付けられた言語を解除する</description>
798 <syntax>RemoveLanguage <var>extension</var> [<var>extension</var>]
800 <contextlist><context>virtual host</context><context>directory</context>
801 <context>.htaccess</context></contextlist>
802 <override>FileInfo</override>
803 <compatibility>2.0.24 以降で使用可能</compatibility>
806 <p><directive>RemoveLanguage</directive> ディレクティブは
807 指定されたファイル拡張子に関連付けられた言語を解除します。
808 これを利用することで、親ディレクトリやサーバ設定ファイルから
809 継承した関連付けを サブディレクトリ内において
810 <code>.htaccess</code> ファイルで取り消すことができます。</p>
812 <p><var>extension</var> 引数は大文字小文字を区別しません。また、
813 最初のドットはついてもつかなくても構いません。</p>
818 <name>RemoveOutputFilter</name>
819 <description>ファイル拡張子に関連付けられた出力フィルタを解除する</description>
820 <syntax>RemoveOutputFilter <var>extension</var> [<var>extension</var>]
822 <contextlist><context>virtual host</context><context>directory</context>
823 <context>.htaccess</context></contextlist>
824 <override>FileInfo</override>
825 <compatibility>2.0.26 以降でのみ使用可能</compatibility>
828 <p><directive>RemoveOutputFilter</directive> ディレクティブは
829 指定されたファイル拡張子に関連付けられた出力<a
830 href="../filter.html">フィルタ</a>を解除します。
831 これを利用することで、親ディレクトリやサーバ設定ファイルから
832 継承した関連付けを サブディレクトリ内において
833 <code>.htaccess</code> ファイルで取り消すことができます。</p>
835 <p><var>extension</var> は大文字小文字を区別しません。
836 また、最初のドットはあってもなくても構いません。</p>
838 <example><title>例</title>
839 RemoveOutputFilter shtml
842 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
846 <name>RemoveType</name>
847 <description>ファイルの拡張子と関連付けられたコンテントタイプを
849 <syntax>RemoveType <var>extension</var> [<var>extension</var>]
851 <contextlist><context>virtual host</context><context>directory</context>
852 <context>.htaccess</context></contextlist>
853 <override>FileInfo</override>
856 <p><directive>RemoveType</directive> ディレクティブは与えられた拡張子の
857 <glossary ref="mime-type">MIME タイプ</glossary>
859 サブディレクトリにある <code>.htaccess</code>
860 ファイルが親ディレクトリやサーバの設定ファイルから継承した
861 関連付けを取り消すことができます。たとえば:</p>
863 <example><title>/foo/.htaccess:</title>
867 <p>これは <code>/foo/</code> ディレクトリ以下の <code>.cgi</code>
868 ファイルの特別な扱いを取り消します。ファイルは <directive
869 module="core">DefaultType</directive> として扱われます。</p>
871 <note><title>注意</title>
872 <p><directive>RemoveType</directive> ディレクティブは
873 <directive module="mod_mime">AddType</directive>
874 ディレクティブの<em>後</em>に処理されますので、
875 両方が同じディレクトリの設定中に現れた場合、
876 後者の効果が打ち消される可能性があります。</p>
879 <p><var>extension</var> は大文字小文字を区別しません。
880 また、最初のドットはあってもなくても構いません。</p>
885 <name>TypesConfig</name>
886 <description><code>mime.types</code> ファイルの位置</description>
887 <syntax>TypesConfig <var>file-path</var></syntax>
888 <default>TypesConfig conf/mime.types</default>
889 <contextlist><context>server config</context></contextlist>
892 <p><directive>TypesConfig</directive> ディレクティブは、
893 <glossary ref="mime-type">MIME タイプ</glossary>
894 設定ファイルの位置を設定します。<var>file-path</var> は
895 <directive module="core">ServerRoot</directive> からの相対パスです。
896 このファイルはファイルの拡張子からコンテントタイプへの
898 ほとんどの管理者は、よく使われるファイル名の拡張子を
899 IANA に登録されたコンテントタイプに関連付けている、
900 Apache の <code>mime.types</code> ファイルを使います。
902 "http://www.iana.org/assignments/media-types/index.html"
903 >http://www.iana.org/assignments/media-types/index.html</a>
904 で管理されています。これは、主要なメディアタイプの定義を提供して、
905 必要ところを <directive module="mod_mime">AddType</directive> で
906 上書きする、という方法で <code>httpd.conf</code> を簡略にします。
907 <code>mime.types</code> はサーバをアップグレードしたときに
908 置き換えられるかもしれないので、そのファイルを直接
911 <p>ファイルは、<directive module="mod_mime">AddType</directive>
912 ディレクティブの引数と同じ形式の行で構成されます。</p>
915 <var>MIME-type</var> [<var>extension</var>] ...
918 <p>拡張子の大文字小文字は区別されません。空行やハッシュ (`#')
922 (1) IANA に既に登録されている、あるいは (2)
923 広く受け入れられていてプラットホーム間でファイル拡張子に衝突がない、
924 という場合でなければ、配布中の <code>mime.types</code>
926 Apache HTTP Server Project にリクエストしないでください。
927 <code>category/x-subtype</code> のリクエストは自動的に却下されますし、
928 言語や文字セットの名前空間で既に使用されていて、衝突の可能性のある
932 <seealso><module>mod_mime_magic</module></seealso>