• 締切済み

PHPで動的に生成した画像がキャッシュされない

はじめまして。 PHPにて動的に生成した画像がブラウザにキャッシュされずに悩んでいます。 Smartyテンプレートに以下のように記述し <img src="getbin.php?pid=1705&size=125&q=50&_.jpg" border="0"> 生成前にファイルの存在をチェックし、既にファイルがあれば、そのパスにリダイレクトを するようになっています。 リダイレクト前に出力するヘッダーに問題があるのでしょうか? 以下にヘッダー情報を記します。 ご指摘ご指導お願いいたします。 ---------------------------------------------------------- http://hogehogehoge.net/getbin.php?pid=1705&size=125&q=50&_.jpg GET getbin.php?pid=1705&size=125&q=50&_.jpg HTTP/1.1 Keep-Alive: 300 Connection: keep-alive Referer: http://hogehogehoge.net HTTP/1.x 302 Found Date: Tue, 19 May 2009 05:01:28 GMT Server: Apache/2.2.3 (CentOS) X-Powered-By: PHP/5.1.6 Expires: Tue, 19 May 2009 06:01:28 GMT Cache-Control: max-age=3600 Pragma: cache Location:http://hogehogehoge.net/tmp/photo/1705/1705_125.jpg Content-Length: 0 Keep-Alive: timeout=15, max=75 Connection: Keep-Alive Content-Type: image/jpeg ---------------------------------------------------------- http://hogehogehoge.net/tmp/photo/1705/1705_125.jpg GET /gizmophoto/tmp/photo/1705/1705_125.jpg HTTP/1.1 Keep-Alive: 300 Connection: keep-alive Referer: http://hogehogehoge.net If-Modified-Since: Mon, 18 May 2009 03:29:10 GMT If-None-Match: "8d803c-831-65bd0d80" Cache-Control: max-age=0 HTTP/1.x 304 Not Modified Date: Tue, 19 May 2009 05:01:28 GMT Server: Apache/2.2.3 (CentOS) Connection: Keep-Alive Keep-Alive: timeout=15, max=61 Etag: "8d803c-831-65bd0d80" ----------------------------------------------------------

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.3

1705_125.jpgにおけるheaderの方に問題がありそうです。 >Cache-Control: max-age=0 これって、キャッシュ保持時間0sec つまり、キャッシュしないって事じゃないのかな? このheaderはなにが出力しているのでしょうか(プログラム?それともapache設定?)

回答No.2

まずは ・HTMLのheadタグでキャッシュできるか試してみる。 ダメなら ・php で header 情報をキャッシュする情報を投げて試してみる。 如何でしょうか?

参考URL:
http://mlog.euqset.org/archives/php-users.php.gr.jp/29342.html
  • tongoko
  • ベストアンサー率87% (7/8)
回答No.1

画像取得の際のクライアントからサーバーへのアクセスにて > If-Modified-Since: Mon, 18 May 2009 03:29:10 GMT がついているので、ブラウザにキャッシュされているように見えます。 そして、サーバーからクライアントへのアクセスも > HTTP/1.x 304 Not Modified なので、普通にキャッシュされているように見えますが…。 >PHPにて動的に生成した画像がブラウザにキャッシュされずに悩んでいます。 をもう少し詳しく教えてもらえますか?

関連するQ&A