.JSONファイルを提供していますが、ファイルは存在しますが、ファイルにアクセスするとIISが404エラーをスローし続けます。ファイルの1つを.JSに名前変更してみました。動作します。
どのような設定がこの問題を引き起こす可能性がありますか?
既定では、IISは、知っているMIMEタイプではないファイルを提供しません(代わりに404エラーを返します)。
MIMEタイプをIISに追加して、そのタイプのファイルを提供できるようにする必要があります。サイトレベルまたはサーバーレベルで設定できます。
サーバー全体にこれを設定するには:
私も同じ問題を抱えていました。 IISはMIMEタイプフィルタリングと呼ばれる処理を行います。特定のファイル拡張子のMIMEタイプがわからない場合は、404エラーを返します。
On IIS <7:サイト(またはサーバー)のプロパティを開きます。HTTP-Headerタブ。MIMEタイプボタンをクリックし、MIMEタイプ "application/octet-stream"でファイルタイプ*を追加します。
For IIS 7: Open IIS manager。Click theserverまたはWebサイト。MIMEタイプ機能アイコンをダブルクリックします。[アクション]ウィンドウで、[追加]をクリックします「ファイル名拡張子」ボックスに*を入力し、「MIMEタイプ」ボックスに「application/octet-stream」を入力します。
IIS)のサイトにMIMEタイプ.json
-text/json
を追加して、ブラウザーでテキストとして表示しました。
回答をもう1つの一般的な回答に統合するには:
ここで警告があります:
この種の問題が発生している場合は、WebサイトのWebログファイルを開き、サブステータスコード(404 3など)を確認して、WebサイトがIIS 6、または
IIS 7。
私にもこの問題がありました-そして、問題はjsonファイルが保存されているフォルダーのファイル権限であることが判明しました。 同様の質問はこちら に回答しました。
これらの人々はすべて、MIMEタイプを追加する必要があると言って間違いありません。
MIMEタイプはサーバー上のファイル拡張子を有効にし、マッピングハンドラーはIISでそれをどうするかを指示します。
したがって、 マッピングハンドラーを追加する も必要です。そのためには、マッピングを処理するために、Windowsの機能 Classic Aspがインストールされています を呼び出す必要があります。
Handler Mappings
Add a Script Map
*.json
C:\WINDOWS\system32\inetsrv\asp.dll
JSON
(お好きな名前を付けることができます)また、一部の人々は、 `application/x-javascript 'をmimeタイプのアプリケーションとして使用するように指示しますが、JSONはjavascriptではありませんper se(それはisサブセットですが)、JSONのIANA登録メディアタイプであるため、代わりに「application/json」にする必要があります。