IIS가 특정 파일 확장자를 제공할 수 없음

IIS가 특정 파일 확장자를 제공할 수 없음

.JSON 파일을 제공하고 있는데 파일이 존재하더라도 파일에 액세스하면 IIS에서 계속 404 오류가 발생합니다. 파일 중 하나의 이름을 .JS로 바꾸려고 시도했는데 작동합니다.

어떤 설정으로 인해 이 문제가 발생할 수 있습니까?

답변1

기본적으로 W2K3 이상의 IIS는 알고 있는 MIME 유형이 아닌 파일을 제공하지 않습니다(대신 404 오류를 반환함).

해당 유형의 파일을 제공하려면 IIS에 MIME 유형을 추가해야 합니다. 사이트 수준이나 서버 수준에서 설정할 수 있습니다.

전체 서버에 대해 이를 설정하려면:

  • IIS 관리자에서 서버 속성을 열고 MIME 유형을 클릭합니다.
  • "새로 만들기"를 클릭하세요. 확장명에 "JSON"을 입력하고 MIME 유형에 "application/json"을 입력합니다.

답변2

나는 같은 문제가 있었다. IIS는 MIME 유형 필터링이라는 기능을 수행합니다. 특정 파일 확장자의 MIME 유형을 모르면 404 오류를 반환합니다.

IIS <7에서: 사이트(또는 서버) 속성을 엽니다. 다음을 클릭하세요.HTTP 헤더탭. 다음을 클릭하세요.MIME 유형단추. MIME 유형이 "application/octet-stream"인 파일 유형 *을 추가합니다.

IIS 7의 경우: IIS 관리자를 엽니다. 다음을 클릭하세요.섬기는 사람또는 웹사이트. 두 번 클릭MIME 유형기능 아이콘입니다. 작업 창에서 다음을 클릭합니다.추가하다. "파일 이름 확장명" 상자를 *로 채우고 MIME 유형 상자를 "application/octet-stream"으로 채웁니다.

답변3

브라우저에서 텍스트로 볼 수 있도록 IIS의 사이트에 MIME 유형 .json을 추가했습니다 .text/json

답변4

나에게도 이 문제가 있었습니다. 문제는 json 파일이 저장된 폴더에 대한 파일 권한으로 밝혀졌습니다. 나는 대답했다여기서도 비슷한 질문.

MIME 유형을 추가해야 한다고 말하는 사람들은 모두 옳습니다.

MIME 유형은 서버에서 파일 확장자를 활성화하고 매핑 핸들러는 IIS에게 이에 대해 수행할 작업을 알려줍니다.

그래서 당신도해야합니다매핑 핸들러 추가, 이를 위해서는 다음과 같은 Windows 기능이 있어야 합니다.클래식 ASP가 설치되었습니다.매핑을 처리하기 위해.

매핑 처리기를 추가하는 방법은 다음과 같습니다.

  1. IIS7 관리자 열기
  2. IIS 서버의 속성(또는 전역 설정을 원하지 않는 경우 사이트)으로 이동합니다.
  3. 클릭Handler Mappings
  4. 클릭Add a Script Map
  5. 속성을 입력합니다:
    • 요청 경로:*.json
    • 실행 파일:C:\WINDOWS\system32\inetsrv\asp.dll
    • 이름: JSON(원하는 이름으로 부르셔도 됩니다.)
  6. 확인을 클릭하면 완료됩니다. 작동이 시작되어야 하며 IIS 재설정이 필요하지 않습니다.

또한 어떤 사람들은 MIME 유형 애플리케이션으로 `application/x-javascript'를 사용하라고 말할 것입니다. 그러나 JSON은 javascript가 아닙니다.그 자체로(그것~이다그러나 하위 집합) JSON에 대한 IANA 등록 미디어 유형이므로 대신 'application/json'이어야 합니다.

관련 정보