他の誰かによって他の場所で作成された古いHTMLファイルがいくつかあります。それらの多くは、何らかの理由で、.html拡張子が付いていません。可能であれば変更する必要はありませんが、何らかの理由で、Apacheはファイルタイプを把握するためにMIMEマジックを実行できないようです。 mime_magic modを有効にし、sitesセクションで以下を有効にしました。
MimeMagicFile /etc/magic
このマシンでDebianLinuxを使用していることに注意してください。
メインのconfファイルでDefaultTypeの回避策を試しましたが、うまくいきませんでした。 (私の環境はApacheの内部の完全にハッキングされたバージョンであるため、FileInfoディレクティブまたはDefaultTypeをオーバーライドするものがあり、それを見つけることができません。標準インストールでは機能する可能性があります...)
何DID動作:私が扱っている拡張子のないファイルはすべて1つの既知のディレクトリにあるので、Locationブロックを追加し、ForceTypeを使用しました:
<Location "/directoryname">
ForceType text/plain
</Location>
複数のタイプのファイルを含む必要があるディレクトリでForceTypeを使用することはできません。
ピリオドを含まないすべてのファイルがPHPであると想定します。
<FilesMatch "^[^\.]+$">
ForceType application/x-httpd-php
</FilesMatch>
マジックファイルのパスは、Debianでは_/usr/share/file/magic
_です。構成ステートメントを次のように変更します
_MimeMagicFile /usr/share/file/magic
_
テキストエディタで_/etc/magic
_を開くと、file(1)
がそのファイルをlocalマジック定義にのみ使用する必要があることを説明するコメントが表示されます。
[〜#〜] system [〜#〜]マジックファイルを使用しているようですが、[〜#〜] mime [〜#〜]マジックファイル—Apache構成ディレクティブ「MimeMagicFile」の名前が示すとおり。これを試して:
MimeMagicFile /usr/share/mime/magic
もちろん、それがあなたのシステムにとって正しい道であることを確認してください—私はテストするDebianシステムを持っていませんが、そこにあることを期待しています。上記の場所で見つからない場合は、locate mime/magic
を試してください。