Presented by Nishishi via Movable Type. Last Updated: 2007/11/04. 04:49:09.

画像ファイルを直接参照されてもページで表示

IT Mediaサイト内で画像を参照すると、なんかおもしろいことになってることに気づきました。
URLを見ると、画像ファイルを直接参照しているように見えるんだけど、実際にブラウザに表示されているのは、HTMLなんですよね。

IT Mediaサイトの拡大画像ページ右図は、IT Mediaサイト内にある記事で、サムネイル画像をクリックしたときに表示される拡大画像ページ。
例えばここ(からクリックして移動できる拡大ページ)

拡大画像を表示するためのページなんだけど、URLを見ると「l_og_akibat2_003.jpg」となっているので、JPEG画像ファイルを直接参照しているように見えます。
でも、実際に表示されているのは、ヘッダ・フッタ・広告なども一緒に表示されているHTMLページです。
ソースを見てもHTMLが表示されます。

なかなか面白い仕組みですね。

Apacheのmod_rewriteモジュールを使って、拡大画像ページ生成用CGIとかに渡してるんですかね?

例えば、
http://www.example.com/articles/image0824.jpg
というリクエストが来たら、mod-rewriteを使って、
http://www.example.com/imagehtml.cgi?image0824.jpg
みたいな感じで変換して、画像ファイルを中心にしたHTMLを動的に生成するようにしているとか。

この方法、いいですね。
写真やイラストを主に公開しているサイトでは、画像ファイルだけに直接アクセスされることが問題になったりしますよね。
この方法を使えば、画像に直接アクセスされたとしても、ヘッダやフッタとかそのほか何でも好きな情報を画像と同時に必ず表示させることができるわけで。

mod_rewriteが使えるサーバで、HTMLを動的に生成するCGIが書ければ、簡単に作れそうです。
…ってまあ、CGIが書けないとダメですが。でも、パラメータに与えられたファイルを表示すりゃいいだけだから、そんなに難しい話でもないと思います。

この日記へのコメントはお気軽に! コメント数:0 トラックバック数:0

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

投稿後、投稿できていないように見えることがあります。ブラウザのキャッシュが読まれているだけですので、ページを再読込すれば(=たいてい[F5]キーを押せば)投稿内容が反映されていることが確認できるはずです。連続投稿を試す前にご確認下さい。(^^;)

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)