web-dev-qa-db-ja.com

IE:*から*をダウンロードできません。このインターネットサイトを開くことができません。要求されたサイトは利用できないか、見つかりません。

ウェブサイトとIEに問題があります。ファイルがありますDocument.ashxクエリ文字列で渡されたパラメーターに応じてデータベースからドキュメントになります。

ファイルは次の場合に機能します。

  • あなたは私のウェブサイトにいて、ダウンロードリンクをクリックします。
  • あなたは私のサイトで何かにアクセスし、URLをアドレスバーに貼り付けてアクセスします。
  • エラーが発生した場合でも、すでにドキュメントリンクに一度アクセスしたことがあります。

次の場合は機能しません。

  • 現在のIEを開いてアドレスバーにリンクを貼り付けて、自分のサイトにアクセスしていません。次のエラーが表示されます。

Windows Internet Explorer

MyHostNameからDocument.ashxをダウンロードできません。

このインターネットサイトを開くことができません。

要求されたサイトは利用できないか、見つかりません。

後でもう一度やり直してください。

誰がこれを引き起こすのか手がかりがありますか?当然、Firefoxでも問題なく動作します。

私のオフィスでは、IEで試してみようと思った人が何人かいましたが、全員が同じ問題を抱えています。Firefoxでも機能すると言います。

47
Smartie

RymoがCache-Control: privateを設定したように、応答ヘッダーにPragma :no-cacheが含まれている場合は、Pragma: tokenに変更する必要があります。

24
Eileen

Davidがここで提供したKB記事SSLを介したInternet Explorerファイルのダウンロードは、キャッシュ制御ヘッダーでは機能しませんに基づいて、発信ヘッダーをCache-Control: no-cacheからCache-Control: privateに変更しました。これにより、他のブラウザに影響を与えることなくIE8の問題が解決されたようです。 Cache-Control: no-storeも使用することに注意してください。

19
rymo

IE8は完全に無効化されたキャッシングを受け入れるようにできますが、ヘッダーの正確な順序について非常にうるさいです。したがって、private(特定のキャッシュを許可し、セキュリティニーズに適合しない可能性があります)にフォールバックする代わりに、次を使用します。

Cache-Control: no-store, no-cache, must-revalidate

指定された場合、正確な順序で-最初のno-store THEN no-cache-IE8では、エラーなしでファイルをダウンロードできます。 Pragmaヘッダーが設定されていないことも確認してください。

15
rymo

この問題はIE8およびおそらくそれ以前のバージョンで発生しますが、IE9 +では解決されています。 SSLを介したドキュメントのダウンロードに関連しています。

アプリケーションの問題を解決するには、次の2つのヘッダーをダウンロードに追加する必要がありました(PHPで記述されています)。

header("Cache-Control: private");
header("Pragma: cache");
7
Dan

私はIE 8のみに遭遇しました。ソリューションを追跡しているときに2つのソリューションに遭遇しました。そのうちの1つがこの問題を修正するはずです。

問題を引き起こすのはIEのコーディング方法であるため、クライアントマシンでの修正であることをお知らせするだけです。

修正: http://support.Microsoft.com/kb/81531http://support.Microsoft.com/kb/323308

6
David

何が大騒ぎですか?この問題は、即時のキャッシュ有効期限切れまたはキャッシュなしが原因です。

問題を修正するには、次を実行します。

Goto server system -> Run Inetmgr -> RightClick and properties on the folder(e.g images) -> httpHeaders -> Now コンテンツの有効期限を有効にするのチェックを外すか、期限切れ後をチェックして1分間待ちます。

これはIIS 5。

IIS 6/7。

楽しいプログラミング!!

3
Dhananjay pal

私は同じ問題を抱えていて、それを修正する上記のすべての方法を試してみてイライラしました。明らかに、クライアントマシンでソリューションを実行したくないので、ヘッダーから「Pragma」パラメータを削除するだけで、うまく機能し始めました。問題が解決しました。

1
datta bhor

asp.netを使用している場合。セットキャッシュでコードを削除する

以下にコメントしてください

       Response.Clear();
   Response.Buffer = true;
   Response.Charset = "";
   **//Response.Cache.SetCacheability(HttpCacheability.NoCache);**
   Response.ContentType = contentType;
   Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
   Response.BinaryWrite(bytes);
   Response.Flush();
   Response.End();
1
Sheryar Nizar

dynamic create Iframe、srcをダウンロードページloactionに設定し、本文に追加します。

function downloadInIFrame(fileId) {var url = "download.aspx?fileId=" + fileId;var iframe = document.createElement("iframe");iframe.src = url;iframe.style.display = "none";document.body.appendChild(iframe);}

これらのコードは私にとってうまく機能します。

0
phil hong

MVCコントローラーを使用してIE8と同じ問題が発生しました tagged with NoCache 。これにより、Response.Cache.SetNoStore IEでのファイルのダウンロードを中断します。

解決するには、 リフレクションによるHttpキャッシュポリシーのリセット を使用します。

0

「対象をファイルに保存...」または「新しいタブで開く」を実行すると、正常に機能します。しかし、IE8ではまだエラーが発生します。私は同じ実装をしています... iframeを持つdiv(display:none)を作成し、それをbodyに追加し、srcをコンテンツタイプがapplication/binaryのフレームに設定するのと同じです。

0
Sandip Bhoi

www.Qiqqa.com のClickOnceデプロイメントにこの同じ問題が埋め込まれていました。私は、それがapplication/octet-streamを取得したときにIEが行う "MIMEタイプスニッフィング"に関係していると思われます-ユーザーを悪意のあるものから保護すると思います。

とにかく、問題を解決するために、.deployファイルのMIMEタイプをtext/plainに変更しました-明らかに理想的ではありませんが、同時に、ユーザーがClickOnceの外部を参照するサーバー上の.deployファイル。

問題が解決しました。

0
Jimme