サーバに拡張子が設定されていないファイルをアップロードした場合、そのファイルはきちんと動かないことがあります。 そこで、.htaccessファイルで拡張子を自分で設定することができます。 たとえば、LHA形式の圧縮ファイルの拡張子が設定されていない場合、 ブラウザによってはテキストファイルと勘違いして上手にダウンロードできません。 そこで、拡張子を設定しておけば、問題なくダウンロードできるようになるわけです。 通常は、サーバ管理者がほとんどの拡張子を設定してくれていますが、 設定が気に入らない場合や新しく登録したい場合には自分で設定することができます。
記述例:
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
AddType text/x-server-parsed-html .sht
AddType text/x-server-parsed-html .shtml
AddType text/x-server-parsed-html .html/
AddType text/x-server-parsed-html .htm/
AddType text/x-server-parsed-html .sht/
AddType text/x-server-parsed-html .shtml/
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
AddType application/x-httpd-cgi .cgi/
AddType application/x-httpd-cgi .pl/
AddType image/x-bmp .bmp
AddType text/plain .log
AddType application/octet-stream .lzh
MIMEタイプにはファイルの種類を定義します。
「text/x-server-parsed-html」はSSIを意味するMIMEタイプ。
「application/x-httpd-cgi」はCGIを意味するMIMEタイプ。
「image/x-bmp」はビットマップ画像を意味するMIMEタイプ。
「text/plain」はテキストデータを意味するMIMEタイプ。
「application/octet-stream」はダウンロードデータを意味するMIMEタイプ。
拡張子の関連付けで、「.cgi/」など最後にスラッシュ「/」を付けているのはセキュリティ上安全のためです。 たとえば、URLを「http://www.servername/~username/test.cgi」と指定した場合、 CGIを実行して結果をブラウザに返しますが、「http://www.servername/~username/test.cgi/」とした場合、CGIのソースを返す場合があります。
これは一部の古いバグが残っているサーバで起こります。 CGIのソースを公開するのは、 セキュリティ上危険ですから「cgi/」 もCGIとして登録しておくとよいでしょう。