|
AddEncoding,AddHandler,AddLanguage,AddTypeといった命令は全て、ファイルの拡張子でメタ情報を指定することができます。それぞれ、content-encoding,handler,content-language,mime-type (content-type)をドキュメントに指定します。TypesConfigという命令は、これもまたmime typesを拡張子から判断して定義します。ForceTypeとSetHandlerという命令は、指定された領域(e.g. 指定されたディレクトリ)にある全てのファイルを特定のmime typeやhandlerを指定するのに使われます。
ファイルは、一つ以上の拡張子を持つことができ、拡張子の命令にいつも従っています。もし、welcome.html.frというファイルがcontent type text/htmlとlanguage Frenchと指定されていれば、welcome.fr.htmlも全く同じ指定になります。この規則の唯一の例外は、Apacheがどう扱っていいか分からない拡張子が与えられた時です。この場合、有効な拡張子も無効な拡張子も全て、Apacheがどのように扱えばいいかを忘れてしまうことになるでしょう。例えば、frとhtmlという拡張子が正常なlanguageとtype情報に定義されていたとしても、xxxという拡張子が何にも定義されていなかったならば、welcome.fr.xxx.htmlというファイルは、content-type text/htmlとは認識されますが、どのようなlanguageとも認識されません。
ファイルのtypeやencodingを変更することは、Last-Modifiedヘッダー情報を変更することにはならないことを覚えておいてください。つまり、以前にキャッシュされたコピーが、クライアントやプロシキで使用されるかもしれないということです。
AddEncoding命令は特定のエンコード形式を拡張子のリストに追加します。Mime-encはドキュメントの拡張子に対するmimeエンコーディングです。例:
AddEncoding x-gzip gz
AddEncoding x-compress Z
これは、拡張子が.gzのファイルについては、x-gzipを使用してエンコードされたと定義し、拡張子が.Zのファイルについては、x-compressを使用してエンコードされていると定義しています。
AddHandler命令は特定の拡張子を持つファイルをhandlerと結び付けます。 例えば、拡張子が.cgiのCGIスクリプトを実行できるようにするには、以下の様に定義します:
AddHandler cgi-script cgi
一度 srm.conf や httpd.conf ファイルを置き換えてしまうと".cgi"で終わっているファイルは CGI プログラムとして扱われます。
AddLanguage命令は、特定の拡張子をファイルの中身の言語種類として、ファイル名の拡張子リストに追加します。Mime-langは拡張子名のファイルのmime言語で、後に中身をエンコーディングしているなんらかの拡張子を外します。例:
AddEncoding x-compress Z
AddLanguage en .en
AddLanguage fr .fr
この定義がなされている時には、ファイル名が
xxxx.en.Zのドキュメントは、英語の文書がcompressによってエンコードされているものとして扱われます。中身の言語については、クライアントに報告されますが、クライアント側のブラウザがこの情報を使用する事はあまりありません。AddLanguage命令は、サーバにいくつかの言語の文書を用意しておき、クライアントの言語形態に合わせてその中の1つを渡す場合などに有効です。AddType命令はコンテントタイプを特定するためのファイル名拡張子リストに追加します。Mime-encはドキュメントの拡張子の使用に対するmimeタイプです。後でコンテントエンコーディングと言語の拡張子は外されます。例:
AddType image/gif GIF
AddType命令を使用する事により、TypesConfigファイルを変更する事なく、新しいmime
typeを追加する事が出来ます。注意:この命令は特定のファイルタイプを定義するのに使用出来ないので、NCSA httpdの同命令と混同しない事。
これは、.htaccessファイルや<Directory>セクションや<Location>セクションに記述します。
この命令は、該当するすべてのファイルを強制的にmedia
typeで指定した形式として認識させます。例えばあるディレクトリ配下に沢山のGIFファイルがあるが、全ての拡張子が".gif"でない時、そのディレクトリの.htaccessファイルに以下のように記述すれば、全てのファイルがGIFファイルだと認識されます。:
ForceType image/gif
注意:この命令は、全てのファイルの拡張子に対して、media typeで指定した形式を上書きします
これは、.htaccessファイルや<Directory>セクションや<Location>セクションに記述します。
この命令は、該当する全てのファイルを強制的にhandler-nameで指定したhandlerに結び付けます。例えばあるディレクトリ配下に沢山のイメージマップファイルがあるが、拡張子が統一されていない場合は、そのディレクトリの.htaccessに以下のように記述します:
SetHandler imap-file
また別の例として、サーバのステータスリポートをhttp://サーバ名/statusのURLで表示したければ、access.confに以下のように記述します:
<Location /status>
SetHandler server-status
</Location>
TypesConfig conf/mime.typesTypesConfig命令は、mimeタイプのコンフィグレーションファイル名を、ServerRootからの相対パスで指定します。 このファイルは、デフォルトでのファイル拡張子とコンテントタイプの結びつきが記述されています。AddType命令を使用せずにこのファイルを変更する事はあまりお勧めしません。 このファイルはAddTypeコマンドのパラメータと同じく以下のように記述します:
mime-type extension extension ...拡張子は英小文字で記載します。空行と行頭が'#'で始まる行はコメントとみなされ、無視されます。
The English original manual is
here.