14歳の自分に衝撃の事実を告げてください

IIS7で拡張子がないファイルの閲覧を行う方法を調べています。
下記のHTMLで画像ファイルgraph(gifファイル)が表示されるようにしたいです。
<img src="image/graph">

現状は、以下の作業は行っています。
(1)MIMEで*をapplication/octet-streamで追加
(2)要求フィルタにはワイルドカード拡張子の拒否はなし
(3)要求フィルタの「一覧にないファイル名拡張子を許可する」をチェック

上記以外で、拡張子なしのファイルに閲覧制限をかけるような機能がどこかにあるのでしょうか。
なお、上記作業設定後にIISの再起動などは行っています。


ちなみに、なぜ上記を実現したいかというと、pukiwikiをIIS7で運用しようとしたところ、pukiwikiでは画像ファイルを拡張子なしで保存しているため、画像ファイルが表示されず悩んでいるのです。拡張子ありで保存するようにプログラムを修正すれば、良いのだとは思いますが、まずは、IISで拡張子なしの画像ファイルを閲覧する方法があるのかを確認したいと考えています。(apacheでは拡張子無しが問題なく閲覧できています)

A 回答 (3件)

> (1)MIMEで*をapplication/octet-streamで追加



IISの設定では「.*」(アスタリスクあり)と記述しているが、
質問文では「*」(アスタリスクなし)で書いている、
ということならば、回答は無視してください。
---
添付画像はIISで拡張子なしファイルタイプを「.*」で表示する指定です。
マイクロソフトの仕様にも書いてあります。
「IIS7で拡張子無しのファイルを閲覧する」の回答画像3
    • good
    • 0

>もう少し説明させていただきますと、拡張子無しの画像ファイルはgifかjpgかpngか分からないため、


 こうなると不可能でしょう。

 いずれにしても、octet-streameはダメです。これはファイルの種類に関わらず、ダウンロードしろというメッセージになります。
 拡張子なしで画像を提示するためには、必ずHTTP応答ヘッダにcontent-typeで画像フォーマットを指定しなければなりません。
 アクセスカウンターのURLが**.cgiでも画像が表示されることを考えると良い。
 Windowsには、拡張子を利用するため、ファイルの先頭にあるコードで画像の種類を判断する仕組みがありませんから、何らかの方法で画像フォーマットを取得しなければなりません。
>pukiwikiでは画像ファイルを拡張子なしで保存しているため、
 たとえ拡張子が付けられていても、content-typeが異なっていれば表示できません。すくなくともIE/windows以外は・・
    • good
    • 0

(1)MIMEで*をapplication/octet-streamで追加



 意味分かってるのかなあ。octet-stream は、バイナリファイルであるのでダウンロードせよという事ですよ。
 拡張子はWindowsだけには特別な意味を持ちますが、他のOSでは無関係です。HTTPで提供するのですから、単純に、画像を送出するときにHTTP応答ヘッダに
content-type: image/gif
 を追加すればよいだけです。

 IEの極めて初期のものは、この点バグがありましたが、今はどのブラウザもHTTP応答ヘッダに従います。

 私はapacheですので、その画像を保存しているディレクトリの.htaccessに
ForceType image/gif
 と記述するだけですみます。

pwikiは、PATH_INFOを使用するので、PATH_INFOにそのフォルダー名があるときは、HTTP応答ヘッダにMIMEtypeを追加すればよいはずです。
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございます。

もう少し説明させていただきますと、拡張子無しの画像ファイルはgifかjpgかpngか分からないため、application/octet-streamを設定しておりました。

また、デフォルトインストールのIIS7では、MIMEに上記を設定すると画像が表示されるようになったのですが、以前から使用していたIIS7では表示されないために、他に規制をかけている機能を探しているところです。

お礼日時:2013/06/08 17:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報