.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 の設定例
AddLanguage ja .ja
AddCharset EUC-JP .euc
AddCharset ISO-2022-JP .jis
AddCharset SHIFT_JIS .sjis
上記の例では、ドキュメント 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 x-gzip .gz
AddEncoding x-compress .Z
上記の例では、拡張子 .gz を含むファイル名が x-gzip エンコーディングを使ってエンコードされていることと、拡張子 .Z を含むファイル名が x-compress でエンコードされていることを指定します。
AddHandler ディレクティブ
AddHandler ディレクティブは、extension
(拡張子) に指定された handler-name
(ハンドラ) を関連付けます。ハンドラについては、SetHandler ディレクティブを参照して下さい。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension
のマッピングを上書きします。また、extension
は大文字小文字を区別せず .
は省略できます。
# AddHandler の構文
AddHandler handler-name extension [extension] ...
# AddHandler の設定例
AddHandler cgi-script .cgi
上記の例では、拡張子 ".cgi" で終わるファイルを CGI スクリプトとして扱います。
AddInputFilter ディレクティブ
AddInputFilter ディレクティブは、extension
(拡張子) をクライアントのリクエストを処理する filter
(入力フィルター) に関連付けます。新しいマッピングは、SetInputFilter ディレクティブの他のディレクティブで定義されている既存のマッピングに追加され、同じ拡張子 extension
のマッピングを上書きします。複数のフィルタを指定するときは、データを処理する順番に ;
で繋いで書く必要があります。また、extension
は大文字小文字を区別せず .
は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。
# AddInputFilter の構文
AddInputFilter filter [;filter] extension [extension] ...
AddLanguage ディレクティブ
AddLanguage ディレクティブは、extension
(拡張子) に指定された MIME-lang
(言語) を関連付けます。MIME-lang
は、拡張子を含むドキュメントの MIME における言語です。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension
のマッピングを上書きします。また、extension
は大文字小文字を区別せず .
は省略できます。
# AddLanguage の構文
AddLanguage MIME-lang extension [extension] ...
# AddLanguage の設定例
AddEncoding x-compress .Z
AddLanguage en .en
AddLanguage fr .fr
上記の例では、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] ...
AddType ディレクティブ
AddType ディレクティブは、extension
(拡張子) に指定された MIME-type
(MIME タイプ(Content-Type)) を関連付けます。新しいマッピングは既存のマッピングに追加され、同じ拡張子 extension
のマッピングを上書きします。また、extension
は大文字小文字を区別せず .
は省略できます。
# AddType の構文
AddType MIME-type extension [extension] ...
# AddType の設定例
AddType image/gif .gif
DefaultLanguage ディレクティブ
DefaultLanguage ディレクティブは、あるディレクティブのスコープの範囲内 (例えば、<Directory> の範囲内) にある言語拡張子 (例えば、AddLanguage ディレクティブで設定される .fr や .de) のないすべてのファイルを、指定された MIME-lang
言語であるとみなします。本ディレクティブを使用することにより、ファイル名を変更することなく任意の言語を含むコンテンツであると指定できます。ただし、本ディレクティブでは、1 つの言語しか指定できないことに注意して下さい。
DefaultLanguage ディレクティブが有効でなく、ファイルに AddLanguage で設定された言語の拡張子がない場合、ファイルには言語属性がないとみなされます。
# DefaultLanguage の構文
DefaultLanguage MIME-lang
# DefaultLanguage の設定例
DefaultLanguage ja
MultiviewsMatch ディレクティブ
MultiviewsMatch ディレクティブは、mod_negotiation モジュールの Multiviews 探索マッチの挙動を 3 パターンから選択できます。指定できる文字列は Any
、NegotiatedOnly
、Filters
、Handlers
の 4 種類です。Filters
と Handlers
は片方、または両方を設定できます。
# MultiviewsMatch の構文
MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers [Filters]
値 | 説明 |
---|---|
Any | mod_mime が認識しないどんな拡張子でもマッチします。 |
NegotiatedOnly | 拡張子に指定される文字セット、MIME タイプ(Content-Type)、言語、エンコーディング のすべてが関連付けが行われている場合にマッチします。このオプションは最も的確な実装で、デフォルト値になります。 |
Filters | 拡張子に指定されるハンドラとフィルタの片方、または両方が関連付けが行われている場合にマッチします。 |
RemoveCharset ディレクティブ
RemoveCharset ディレクティブは、extension
(拡張子) に指定された charset
の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。本ディレクティブは、Apache 2.0.24 以降で使用可能です。
# RemoveCharset の構文
RemoveCharset extension [extension] ...
# RemoveCharset の設定例
RemoveCharset .html .shtml
RemoveEncoding ディレクティブ
RemoveEncoding ディレクティブは、 extension
(拡張子) に指定された MIME-enc
(エンコーディング) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。
# RemoveEncoding の構文
RemoveEncoding extension [extension] ...
# RemoveEncoding の設定例
# /foo/.htaccess
AddEncoding x-gzip .gz
AddType text/plain .asc
<Files *.gz.asc>
RemoveEncoding .gz
</Files>
上記の設定例では、例えば foo.gz は gzip でエンコードされることを指定していますが、foo.gz.asc はエンコードされていないプレーンテキストのファイルであることを意味します。
RemoveHandler ディレクティブ
RemoveHandler ディレクティブは、extension
(拡張子) に指定された handler-name
(ハンドラ) の関連付けを取り消します。ハンドラについては、SetHandler ディレクティブを参照して下さい。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。
# RemoveHandler の構文
RemoveHandler extension [extension] ...
# RemoveHandler の設定例
# /foo/.htaccess:
AddHandler server-parsed .html
# /foo/bar/.htaccess:
RemoveHandler .html
上記の例では、例えば /foo/bar ディレクトリの .html ファイルは SSI ではなく、通常の HTML ファイルとして扱われます。
RemoveInputFilter ディレクティブ
RemoveInputFilter ディレクティブは、extension
(拡張子) をクライアントのリクエストを処理する filter
(入力フィルター) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。
# RemoveInputFilter の構文
RemoveInputFilter extension [extension] ...
RemoveLanguage ディレクティブ
RemoveLanguage ディレクティブは、extension
(拡張子) に指定された MIME-lang
(言語) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。本ディレクティブは、Apache 2.0.24 以降で使用可能です。
# RemoveLanguage の構文
RemoveLanguage extension [extension] ...
RemoveOutputFilter ディレクティブ
RemoveOutputFilter ディレクティブは、extension
(拡張子) をサーバのレスポンスを処理する filter
(出力フィルター) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。本ディレクティブは、Apache 2.0.26 以降で使用可能です。
# RemoveOutputFilter の構文
RemoveOutputFilter extension [extension] ...
RemoveType ディレクティブ
RemoveType ディレクティブは、extension
(拡張子) に指定された MIME-type
(MIME タイプ(Content-Type)) の関連付けを取り消します。この設定は、上位ディレクトリから継承した設定も同様に取り消すことができます。また、extension
は大文字小文字を区別せず .
は省略できます。
# RemoveType の構文
RemoveType extension [extension] ...
本ディレクティブは、AddType ディレクティブの後に処理されるため、同じディレクトリの設定においては処理順に注意して下さい。
関連記事
- .htaccess - コア機能
- .htaccess - mod_actions
- .htaccess - mod_alias
- .htaccess - mod_auth_basic
- .htaccess - mod_authn_default
- .htaccess - mod_authn_file
- .htaccess - mod_authz_default
- .htaccess - mod_authz_groupfile
- .htaccess - mod_authz_host
- .htaccess - mod_authz_user
- .htaccess - mod_autoindex
- .htaccess - mod_env
- .htaccess - mod_expires
- .htaccess - mod_filter
- .htaccess - mod_headers
- .htaccess - mod_imagemap
- .htaccess - mod_include
- .htaccess - mod_negotiation
- .htaccess - mod_setenvif
- .htaccess - mod_dir
- .htaccess - mod_rewrite