Ich stelle JSON-Dateien bereit, aber obwohl die Datei vorhanden ist, gibt IIS immer wieder 404-Fehler aus, wenn auf eine der Dateien zugegriffen wird. Ich habe versucht, eine der Dateien in .JS umzubenennen, und es funktioniert.
Gibt es einen Hinweis darauf, welche Einstellung dieses Problem verursachen kann?
windows-server-2003
iis
http-status-code-404
Adrian Godong
quelle
quelle
Ich hatte das gleiche Problem. IIS führt eine sogenannte MIME-Typfilterung durch. Wenn der MIME-Typ einer bestimmten Dateierweiterung nicht bekannt ist, wird ein 404-Fehler zurückgegeben.
Unter IIS <7: Öffnen Sie die Site- (oder Server-) Eigenschaften. Klicken Sie auf die Registerkarte HTTP-Header . Klicken Sie auf die Schaltfläche MIME-Typen . Fügen Sie den Dateityp * mit dem MIME-Typ "application / octet-stream" hinzu.
Für IIS 7: Öffnen Sie den IIS-Manager. Klicken Sie auf den Server oder die Website. Doppelklicken Sie auf das Funktionssymbol MIME-Typen . Klicken Sie im Bereich Aktionen auf Hinzufügen . Füllen Sie das Feld "Dateinamenerweiterung" mit * und das Feld MIME-Typ mit "application / octet-stream".
quelle
Ich fügte hinzu , MIME - Typen
.json
-text/json
auf die Website in IIS im Browser als Text.quelle
So fassen Sie die Antworten zu einer allgemeineren Antwort zusammen:
Hier kommt die Einschränkung:
Wenn bei Ihnen ein solches Problem auftritt, öffnen Sie die Weblogdateien der Website und überprüfen Sie anhand des Substatuscodes (z. B. 404 3), warum Ihre Website keine Inhalte für IIS 6 oder IIS 6 bereitstellt
in IIS 7.
quelle
Ich hatte auch dieses Problem - und das Problem stellte sich als Dateiberechtigung für den Ordner heraus, in dem die JSON-Datei gespeichert war. Ich habe hier eine ähnliche Frage beantwortet .
Diese Leute sagen alle zu Recht, dass Sie den MIME-Typ hinzufügen müssen.
Der MIME-Typ aktiviert die Dateierweiterung auf dem Server und der Mapping-Handler teilt IIS mit, was damit zu tun ist.
Sie müssen also auch den Mapping-Handler hinzufügen und dafür muss die Windows-Funktion Classic Asp installiert sein, um das Mapping durchführen zu können.
So fügen Sie den Mapping-Handler hinzu:
Handler Mappings
Add a Script Map
*.json
C:\WINDOWS\system32\inetsrv\asp.dll
JSON
(Sie können es so nennen, wie Sie möchten)Einige Leute werden Ihnen auch sagen, dass Sie "application / x-javascript" als MIME-Anwendung verwenden sollen, aber JSON ist per se kein Javascript (es ist jedoch eine Teilmenge) und sollte stattdessen "application / json" sein , da es sich um den von IANA registrierten Medientyp für JSON handelt.
quelle
Überprüfen Sie auch die Anforderungsfilterung in IIS. Wenn ".json" vorhanden und blockiert ist, funktioniert nichts anderes.
quelle