.htaccess - mod_mime

mod_mime

以下は、mod_mime モジュールのディレクティブの一覧です。mod_mime は、拡張子に使って メタ情報 をファイルに関連付けるために使用されます。メタ情報は、ドキュメントのファイル名と、MIME タイプ(Content-Type)、言語、文字セット、エンコーディングとを関連付けます。メタ情報は、ブラウザに送信され、複数のファイルの中からユーザに最適なファイルが選ばれるように、コンテンツネゴシエーションでも使われます。コンテンツネゴシエーションについては、mod_negotiation を参照して下さい。

AddCharset ディレクティブ

AddCharset ディレクティブは、extension (拡張子) に指定された charset を関連付けます。charset は、MIME charset パラメータです。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。また、extension は大文字小文字を区別せず . は省略できます。

# AddCharset の構文
AddCharset charset extension [extension] ...
AddCharset の構文
# AddCharset の設定例
AddLanguage ja .ja
AddCharset EUC-JP .euc
AddCharset ISO-2022-JP .jis
AddCharset SHIFT_JIS .sjis
AddCharset の設定例

上記の例では、ドキュメント xxxx.ja.jis は charset が ISO-2022-JP の日本語のドキュメントとして扱われます (xxxx.jis.ja も同様です)。本ディレクティブは、ドキュメントが適切に解釈されて表示されるように、ドキュメントの charset をクライアントに通知するために有効です。また、サーバがクライアントの charset の優先度によって、複数のドキュメントの中から最適なドキュメントを選ぶコンテントネゴシエーションにも有効です。

AddEncoding ディレクティブ

AddEncoding ディレクティブは、extension (拡張子) に指定された MIME-enc (エンコーディング) を関連付けます。MIME-enc は、拡張子を含むドキュメントに使用する MIME エンコーディングです。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。また、extension は大文字小文字を区別せず . は省略できます。

# AddEncoding の構文
AddEncoding MIME-enc extension [extension] ...
AddEncoding の構文
# AddEncoding の設定例
AddEncoding x-gzip .gz
AddEncoding x-compress .Z
AddEncoding の設定例

上記の例では、拡張子 .gz を含むファイル名が x-gzip エンコーディングを使ってエンコードされていることと、拡張子 .Z を含むファイル名が x-compress でエンコードされていることを指定します。

AddHandler ディレクティブ

AddHandler ディレクティブは、extension (拡張子) に指定された handler-name (ハンドラ) を関連付けます。ハンドラについては、SetHandler ディレクティブを参照して下さい。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。また、extension は大文字小文字を区別せず . は省略できます。

# AddHandler の構文
AddHandler handler-name extension [extension] ...
AddHandler の構文
# AddHandler の設定例
AddHandler cgi-script .cgi
AddHandler の設定例

上記の例では、拡張子 ".cgi" で終わるファイルを CGI スクリプトとして扱います。

AddInputFilter ディレクティブ

AddInputFilter ディレクティブは、extension (拡張子) をクライアントのリクエストを処理する filter (入力フィルター) に関連付けます。新しいマッピングは、SetInputFilter ディレクティブの他のディレクティブで定義されている既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。複数のフィルタを指定するときは、データを処理する順番に ; で繋いで書く必要があります。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。

# AddInputFilter の構文
AddInputFilter filter [;filter] extension [extension] ...
AddInputFilter の構文

AddLanguage ディレクティブ

AddLanguage ディレクティブは、extension (拡張子) に指定された MIME-lang (言語) を関連付けます。MIME-lang は、拡張子を含むドキュメントの MIME における言語です。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。また、extension は大文字小文字を区別せず . は省略できます。

# AddLanguage の構文
AddLanguage MIME-lang extension [extension] ...
AddLanguage の構文
# AddLanguage の設定例
AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr
AddLanguage の設定例

上記の例では、xxxx.en.Z ドキュメントは compress された英語のドキュメントとして扱われます (xxxx.Z.en も同様)。また、サーバがクライアントの言語の優先度によって、複数のドキュメントの中から最適なドキュメントを選ぶコンテントネゴシエーションにも有効です。複数の言語が同じ拡張子に割り当てられている場合は、最後に設定された言語が優先されます。以下の場合は、en-us が優先されます。

# 複数の言語が同じ拡張子に割り当てられている設定例
AddLanguage en .en
AddLanguage en-gb .en
AddLanguage en-us .en
複数の言語が同じ拡張子に割り当てられている設定例

AddOutputFilter ディレクティブ

AddOutputFilter ディレクティブは、extension (拡張子) をサーバのレスポンスを処理する filter (出力フィルター) に関連付けます 新しいマッピングは、SetOutputFilter ディレクティブと AddOutputFilterByType ディレクティブ を含め、他のディレクティブで定義されている既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。複数のフィルタを指定するときは、データを処理する順番に ; で繋いで書く必要があります。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。

# AddOutputFilter の構文
AddOutputFilter filter [;filter] extension [extension] ...
AddOutputFilter の構文

AddType ディレクティブ

AddType ディレクティブは、extension (拡張子) に指定された MIME-type (MIME タイプ(Content-Type)) を関連付けます。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension のマッピングを上書きします。また、extension は大文字小文字を区別せず . は省略できます。

# AddType の構文
AddType MIME-type extension [extension] ...
AddType の構文
# AddType の設定例
AddType image/gif .gif
AddType の設定例

DefaultLanguage ディレクティブ

DefaultLanguage ディレクティブは、あるディレクティブのスコープの範囲内 (例えば、<Directory> の範囲内) にある言語拡張子 (例えば、AddLanguage ディレクティブで設定される .fr や .de) のないすべてのファイルを、指定された MIME-lang 言語であるとみなします。本ディレクティブを使用することにより、ファイル名を変更することなく任意の言語を含むコンテンツであると指定できます。ただし、本ディレクティブでは、1 つの言語しか指定できないことに注意して下さい。

DefaultLanguage ディレクティブが有効でなく、ファイルに AddLanguage で設定された言語の拡張子がない場合、ファイルには言語属性がないとみなされます。

# DefaultLanguage の構文
DefaultLanguage MIME-lang
DefaultLanguage の構文
# DefaultLanguage の設定例
DefaultLanguage ja
DefaultLanguage の設定例

MultiviewsMatch ディレクティブ

MultiviewsMatch ディレクティブは、mod_negotiation モジュールの Multiviews 探索マッチの挙動を 3 パターンから選択できます。指定できる文字列は AnyNegotiatedOnlyFiltersHandlers の 4 種類です。FiltersHandlers は片方、または両方を設定できます。

# MultiviewsMatch の構文
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Filters]
MultiviewsMatch の構文
MultiviewsMatch ディレクティブの値一覧
説明
Anymod_mime が認識しないどんな拡張子でもマッチします。
NegotiatedOnly拡張子に指定される文字セット、MIME タイプ(Content-Type)、言語、エンコーディング のすべてが関連付けが行われている場合にマッチします。このオプションは最も的確な実装で、デフォルト値になります。
Filters
Handlers [Filters]
拡張子に指定されるハンドラとフィルタの片方、または両方が関連付けが行われている場合にマッチします。

RemoveCharset ディレクティブ

RemoveCharset ディレクティブは、extension (拡張子) に指定された charset の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.24 以降で使用可能です。

# RemoveCharset の構文
RemoveCharset extension [extension] ...
RemoveCharset の構文
# RemoveCharset の設定例
RemoveCharset .html .shtml
RemoveCharset の設定例

RemoveEncoding ディレクティブ

RemoveEncoding ディレクティブは、 extension (拡張子) に指定された MIME-enc (エンコーディング) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。

# RemoveEncoding の構文
RemoveEncoding extension [extension] ...
RemoveEncoding の構文
# RemoveEncoding の設定例
# /foo/.htaccess
AddEncoding x-gzip .gz
AddType text/plain .asc
<Files *.gz.asc>
  RemoveEncoding .gz
</Files>
RemoveEncoding の設定例

上記の設定例では、例えば foo.gz は gzip でエンコードされることを指定していますが、foo.gz.asc はエンコードされていないプレーンテキストのファイルであることを意味します。

RemoveHandler ディレクティブ

RemoveHandler ディレクティブは、extension (拡張子) に指定された handler-name (ハンドラ) の関連付けを取り消します。ハンドラについては、SetHandler ディレクティブを参照して下さい。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。

# RemoveHandler の構文
RemoveHandler extension [extension] ...
RemoveHandler の構文
# RemoveHandler の設定例
# /foo/.htaccess:
AddHandler server-parsed .html

# /foo/bar/.htaccess:
RemoveHandler .html
RemoveHandler の設定例

上記の例では、例えば /foo/bar ディレクトリの .html ファイルは SSI ではなく、通常の HTML ファイルとして扱われます。

RemoveInputFilter ディレクティブ

RemoveInputFilter ディレクティブは、extension (拡張子) をクライアントのリクエストを処理する filter (入力フィルター) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。

# RemoveInputFilter の構文
RemoveInputFilter extension [extension] ...
RemoveInputFilter の構文

RemoveLanguage ディレクティブ

RemoveLanguage ディレクティブは、extension (拡張子) に指定された MIME-lang (言語) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.24 以降で使用可能です。

# RemoveLanguage の構文
RemoveLanguage extension [extension] ...
RemoveLanguage の構文

RemoveOutputFilter ディレクティブ

RemoveOutputFilter ディレクティブは、extension (拡張子) をサーバのレスポンスを処理する filter (出力フィルター) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。

# RemoveOutputFilter の構文
RemoveOutputFilter extension [extension] ...
RemoveOutputFilter の構文

RemoveType ディレクティブ

RemoveType ディレクティブは、extension (拡張子) に指定された MIME-type (MIME タイプ(Content-Type)) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension は大文字小文字を区別せず . は省略できます。

# RemoveType の構文
RemoveType extension [extension] ...
RemoveType の構文

本ディレクティブは、AddType ディレクティブの後に処理されるため、同じディレクトリの設定においては処理順に注意して下さい。

関連記事