Podaję pliki .JSON, ale mimo że plik istnieje, IIS zgłasza błąd 404 podczas uzyskiwania dostępu do dowolnego pliku. Próbowałem zmienić nazwę jednego z plików na .JS i działa.
Jakiś wskaźnik, jakie ustawienie może powodować ten problem?
windows-server-2003
iis
http-status-code-404
Adrian Godong
źródło
źródło
Miałem ten sam problem. IIS robi coś, co nazywa się filtrowaniem typu MIME. Jeśli nie zna typu MIME określonego rozszerzenia pliku, zwraca błąd 404.
W usługach IIS <7: Otwórz właściwości witryny (lub serwera). Kliknij kartę Nagłówek HTTP . Kliknij przycisk Typy MIME . Dodaj typ pliku * z typem MIME „application / octet-stream”.
W przypadku IIS 7: Otwórz menedżera IIS. Kliknij serwer lub stronę internetową. Kliknij dwukrotnie ikonę funkcji Typy MIME . W okienku Akcje kliknij Dodaj . Wypełnij pole „File Name Extension” *, a pole MIME Type „application / octet-stream”.
źródło
Dodałem typ MIME
.json
-text/json
do strony w IIS, aby wyświetlić w przeglądarce jako tekst.źródło
Aby skonsolidować odpowiedzi w jedną ogólną odpowiedź:
Oto zastrzeżenie:
Jeśli masz tego rodzaju problem, otwórz pliki dziennika internetowego witryny i spójrz na kod podrzędny (tj. 404 3), aby dokładnie ustalić, dlaczego witryna nie wyświetla treści dla IIS 6 lub
w IIS 7.
źródło
Miałem też ten problem - i okazało się, że są to uprawnienia do plików w folderze, w którym przechowywany był plik json. Odpowiedziałem na podobne pytanie tutaj .
Wszyscy ci ludzie mają rację, mówiąc, że musisz dodać typ MIME.
Typ MIME umożliwia rozszerzenie pliku na serwerze, a moduł obsługi map mówi IIS, co z tym zrobić.
Musisz także dodać moduł obsługi map , a do tego musisz mieć zainstalowaną funkcję systemu Windows o nazwie Classic Asp , aby obsłużyć mapowanie.
Oto jak dodać moduł obsługi mapowania:
Handler Mappings
Add a Script Map
*.json
C:\WINDOWS\system32\inetsrv\asp.dll
JSON
(możesz to nazwać jak chcesz)Ponadto niektórzy ludzie powiedzą ci, abyś używał `application / x-javascript 'jako aplikacji typu mime, ale JSON nie jest javascript, sam w sobie (jest to jednak podzbiór), więc powinien być zamiast tego„ application / json ” , ponieważ jest to typ nośnika zarejestrowany przez IANA dla JSON.
źródło
Sprawdź także Filtrowanie żądań w IIS. Jeśli plik „.json” jest dostępny i zablokowany, nic innego nie będzie działać.
źródło