PHPでファイルのダウンローダを作ってて、ローカルではO.K。Safari/FF/Operaもそれぞれに場合分けしてHeaderを作って・・・・本番環境で動かない・・・・。ダウンロードができない。変なアラート開く。
しかも、I.Eだけ。これ、Safariだけとかなら無視しようかなと思ったんだけど。
小一時間ほど悩んで、とりあえず検索。わからん。。。wgetでHTTPheaderを見比べてみる・・・・。おなじや。。。
ん・・・・・とりあえず、I.Eのアラートするエラーメッセージで検索。
google:このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか
わからん。
環境の違い・・・・・・・あ、SSL?
google:このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか SSL
あったー。
Internet Explorer で SSL Web サイトの Office 文書を開けない。しかし、Pragmaがとれんーー。
この問題は、サーバーで SSL (Secure Sockets Layer) が使用され、応答メッセージに次のいずれか、または両方の HTTP ヘッダーが追加されている場合に発生します。
Pragma: no-cache
Cache-control: no-cache,max-age=0,must-revalidate
んー、session_cache_limiter()やっちゃってるから、Pragmaがついちゃうんだよなー。Headerって、get_headersで取れるけど削除ってどない?
header('Pragma: 1'); header('Cache-control: private, max-age=60, pre-check=30'); session_cache_limiter('private_no_expire');
これでいっか。
おー、ダウンロードできた。