普通のhttpサイトに置いてテストしていた場合、ダウンロードできていたのですが、SSL(https)の本番サーバーに乗せると、「開く」と「保存」で「保存」を選ぶと「Internet Explorerでは、(ファイル名) をダウンロードできません。
このインターネットのサイトを開くことができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。」
というエラーがでてしまいます。
「開く」だと普通に開けるので、本当にファイルがないわけではないのですが、原因は何でしょうか。
ちなみにno-cache設定は、していたのですが下記を見てはずしましたのでこれ以外が原因だと思います。
http://www.tsuhtan.net/java/general.html#2
http://support.microsoft.com/default.aspx?scid=kb;ja;436605
Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題
コレが原因では?
http://www.php.net/manual/ja/function.session-cache-limiter.php
PHP: session_cache_limiter - Manual
回避策としては、セッションをスタートする前に
session_cache_limiter(’public’);
の1行を追加することでダウンロードが可能になりました。
ありがとうございます、session_cache_limiter(’public’);
を試してみます。
---------------------------------------------
試しました。
session_cache_limiter(’public’);
を記述することでOKでした! ありがとうございます。
Content-Disposition: attachment;
については、
Content-Disposition: attachment; filename=”ファイル名”
という感じでファイル名を指定する際に使用しているのですが、これを表記しないとファイル名が指定できないと思うのですが、これが原因でエラーになるとするとどうすればよいのでしょう・・・(session_cache_limiter(’public’);で上記を記述していてもエラーが出なくなるようですとよいのですが)