"확장 구성으로 인해 요청한 페이지를 제공 할 수 없습니다." 에러 메시지


272

응용 프로그램을 실행하려고 할 때이 오류 메시지가 나타납니다. 나는 그것을 고치는 방법을 모른다 :

HTTP 오류 404.3-찾을 수 없음 확장 구성으로 인해 요청한 페이지를 제공 할 수 없습니다. 페이지가 스크립트 인 경우 핸들러를 추가하십시오. 파일을 다운로드해야하는 경우 MIME 맵을 추가하십시오.

오류 페이지의 스크린 샷은 다음과 같습니다. 대체 텍스트

이 오류를 해결하려면 어떻게해야합니까?


1
소스 코드는 에러 페이지보다 더 도움이 될 것입니다
gsharp

1
소스 코드의 어떤 부분을보아야합니까?

1
위의 지침을 따른 후 동일한 오류가 발생하면 아래 링크로 이동하여 여기
Raj

답변:


170

사용중인 .NET 프레임 워크 버전을 등록 하려면 aspnet_regiis.exe 를 사용하십시오 .

이것은 일반적인 문제이며 IIS가 VS 또는 .NET 프레임 워크 이후에 설치 될 때 발생합니다.

참고-Windows 8/10 사용자의 경우 아래 JohnOpincar의 다른 답변을 참조하십시오 . 그리고 Kevin Brydon의 의견 / 팁.


11
사실 Visual Studio를 먼저 설치 한 다음 IIS를 설치했습니다. 현재 "aspnet_regiis.exe -i"명령을 실행하고 있습니다. 잘하면 이것은 오류를 수정합니다.

5
.svc WCF 서비스에 액세스하려고 할 때이 오류가 발생했을 때 나를 위해 일했습니다.
atconway

참고-Windows 8 사용자의 경우 아래 JohnOpincar의 다른 답변을 참조하십시오.
KyleK

+1 검색을 통해이를 찾는 다른 사람은 aspnet_regiis.exe를 최소 저항 경로로 실행하지 않고 .NET 설치에서 복구를 수행하는 것이 더 쉽다는 것을 알게 될 수 있습니다. 우리는 IIS 역할을 설치하기 전에 .NET 4.5.2 (Windows Update를 통해)를 설치 한 상자에서 많은 것을보고 있습니다.이 상자는 .NET 4를 앱 풀에 옵션으로 표시하기 때문에 약간 실망 스럽지만 응용 프로그램에 .NET 4.5가 필요하면 위의 메시지와 함께 실패합니다.
aolszowka

246

Windows 8/10에서는

  • 제어판 열기 →
  • 프로그램 및 기능 →
  • Windows 기능 켜기 또는 끄기 →
  • 인터넷 정보 서비스 (IIS) →
  • 월드 와이드 웹 서비스 →
  • 응용 프로그램 개발 기능 →
  • ASP.NET 활성화와 같은 적절한 항목을 확인하십시오. (예 : 웹 사이트를 구성 할 적절한 버전을 설치하십시오)

참조 : 이 질문의 해결책을 참조하십시오.


217
나는 확인했다 .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
케빈 브라이언

13
"dism / Online / Enable-Feature / FeatureName : WCF-HTTP-Activation / all"또는 "dism / Online / Enable-Feature / FeatureName : WCF-HTTP-Activation45 / all"
Paul Suart

내가 regiis를 실행하는 데 익숙해 지 자마자 Microsoft는 가서 다시 변경합니다. 적어도 WIF 설치와 비슷한 변경이 훨씬 쉽습니다. 이제 Windows 기능을 켜거나 끄려면 SQL을 추가해야합니다.
nocarrier

@KevinBrydon-대단히 감사합니다! 팁은 Windows 2012 R2의 문제를 해결하는 데 매우 도움이되었습니다.
Amil Waduwawara

Windows Server 2012 R2에서 "Http Activation"을 사용하도록 설정했습니다.
Dhanuka777

117

내 Windows 10에서 수정했습니다.

  1. 제어판-프로그램 및 기능-Windows 기능을 켜거나 끄십시오.

  2. .NET Framework 4.6 고급 서비스 선택-WCF 서비스

  3. HTTP 활성화를 확인하십시오.

  4. 좋아. 끝났어.


5
Windows 10에서 작동합니다! 감사합니다!
Sergey Malyutin 2016 년

1
8.1 승리
Qerts

Win10 iis7에서 작업
noCodeMonkeys 1

이것은 Windows 1709로 업그레이드하고 IIS를 다시 설치 한 후에 작동합니다.
garrettendi

"요청한 URL의 파일 확장자가 서버에 구성되지 않은 MIME 유형 인 경우이 오류가 발생합니다"
eranda.del

84

필자의 경우 웹 구성에 제공하려는 각 파일 확장자마다 MIME 유형을 추가해야했습니다.

<system.webServer>
    <staticContent>
      <mimeMap fileExtension=".shp" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".dbf" mimeType="application/octet-stream" />
      <mimeMap fileExtension=".kml" mimeType="text/xml" />
    </staticContent>
    ...
</system.webServer>

2
1+ 그것은 내가로드하려고했다 ... 내 문제를 해결 .json하고 난 영업 오류가 계속했고 결국 나는 최종까지 추가 mimeMap내 Web.config의 및 문제 해결
닉 칸

asmx 파일에도 MIME 유형을 추가해야합니까?
Shilpa Soni

@ShilpaSoni asmx 파일은 정적 콘텐츠가 아닌 asp.net 서버 파일입니다. 따라서 클라이언트에서 다운로드 할 필요가 없으며 다운로드 할 필요가 없습니다.
Mahmoodvcs

1
그리고 여기 에서 발견 자신의 적절한 mimeType를에 파일 확장자의지도, SO의 질문
레드 완두콩

21

이것이 누군가를 돕는 경우 aspnet_regiis.exe를 실행하려고 할 때이 오류가 발생했습니다.

0x8007000B에서 작업 실패

형식이 잘못된 프로그램을로드하려고했습니다.

결과적으로 서버는 2008 64 비트를 실행 중이며 32 비트 버전의 유틸리티를 실행하려고했습니다. \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727에있는 버전을 실행하면 문제가 해결되었습니다.

c:\Windows\Microsoft.NET\Framework64\v2.0.50727>aspnet_regiis.exe -i

7

방금 고객과 같은 상황을 겪었습니다. 웹 사이트를 설치하는 자체 제품이 있습니다. 설치 관리자는 IIS 풀, 사이트, web.config 등 모든 것을 구성합니다.

설치 프로그램을 사용하여 다른 웹 사이트를 설치했습니다. 동일한 매개 변수를 입력하여 두 사이트에서 web.configs가 동일하게 발생했습니다.

그러나 새로 설치된 사이트는 정상적으로 작동했지만 이전 사이트는 그렇지 않았습니다. 그런 다음 2 개의 IIS 관리자 창을 열고 웹 사이트 설정의 차이점을 비교하기 시작했습니다. 그리고 나는 문제를 발견했다.

누군가 이전 사이트의 모든 처리기 매핑을 삭제했습니다. "Handler mappings"로 이동하면 aspx, asmx 및 기타 확장명 및 핸들러 이름이 표시됩니다. 따라서 이전 사이트에서는 모든 레코드가 누락되었습니다.

따라서 먼저 "Handler mappings"를 확인하는 것이 좋습니다. 여기에는 많은 레코드가 있어야합니다. 새로운 웹 사이트를 만들고 얼마나 많은 사이트가 있는지 비교하십시오.

사람이나 다른 프로그램을 삭제 한 사람은 모르겠습니다. 누군가 domain \ john이 "07.03.2012 12:34"날짜에 웹 사이트를 수정했음을 알리는 추적 응용 프로그램이 있는지 알 수 있다면 유용 할 것입니다.



6

모든 WCF 기능을 설치하여 Windows 2012 서버에서 문제를 해결했습니다.

A) 서버 관리자> 관리 [왼쪽 상단 링크]> 역할 및 기능 추가

B) 기능> .Net Framework 4.5 기능> WCF 서비스

C) 기능을 확인 (활성화)하십시오. 나는 모두 확인했다.

D) 설치


2
나는 HTTP Activation과 TCP Activation 만 검사했고 그것은 나를 위해 일했다. 어쨌든 감사합니다!
Aleksei Mialkin

6

Windows Server 2008 R2 64 비트 및 .net 프레임 워크 4.5를 실행하고이 위치에서이 명령을 실행하여 성공했습니다.

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -i

산출:

Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation.  All rights reserved.
Start installing ASP.NET (4.0.30319.0).
.....
Finished installing ASP.NET (4.0.30319.0).

3

@Mahmoodvcs가 언급했듯이 직접 호스팅 / 다운로드 해야하는 파일 확장자에 대해 MIME 유형을 설정 / 추가해야했습니다.이 경우 Heroku의 덤프 파일 (postgres의 데이터베이스 백업)이므로 공개 IIS 서버를 설정하려면 dropbox와 같은 AWS S3 버킷 또는 HTTP 공유를 요구하지 않고이 파일을 다운로드 할 수 있습니다. 이것은 훌륭한 옵션입니다!

<staticContent>
  <mimeMap fileExtension=".dump" mimeType="application/octet-stream" />
</staticContent>



2

Windows Server 2008 IIS 7 에서도이 오류가 발생했습니다 .Visual Studio가 설치되어 있지 않으므로 .NET 4.0의 재설치 / 복구가 트릭을 수행했습니다.


1

IIS에서 제공 할 확장을 추가하려면 다음을 수행하십시오.

  1. IIS 관리자를 열고 관리하려는 수준으로 이동하십시오.
  2. 기능보기에서 MIME 유형을 두 번 클릭하십시오.
  3. 작업 창에서 추가를 클릭하십시오.
  4. MIME 형식 추가 대화 상자의 파일 이름 확장명 텍스트 상자에 파일 이름 확장명을 입력하십시오. ... MIME 유형을 입력하십시오
  5. MIME 유형 텍스트 상자에
  6. 확인을 클릭하십시오.

1
.ts (유형 스크립트 파일)의 경우이 솔루션을 테스트했습니다. MIME 유형 Typescript 필드 (.ts)에서 선언해야합니다. 텍스트 /x.typescript를 mime 유형으로 사용
freedeveloper


0

IIS의 응용 프로그램 풀 (IIS7 이상인 경우)이 통합으로 선택되어 있는지 확인하십시오. 이 경우 클래식으로 변경하면이 문제를 해결할 수 있습니다.


0

Server 2016과 관련하여 다음을 추가해야합니다.

  1. 이 명령을 실행하십시오 : aspnet_regiis -lv이 디렉토리에서 : C:\Windows\Microsoft.NET\Framework\v2.0.50727\ 이것은 당신에게 무슨 일이 일어나고 있는지 가장 잘 볼 수 있습니다

  2. Server 2016에서 .net 및 iis를 순서대로 설치하는 것은 문제가되지 않는 것 같습니다.

  3. Server 2016에서 문제가 될 가능성은 asp.net이 시스템에 설치되어 있지 않다는 것입니다.


0

에 대한 Windows Server 2016

  1. 열기 Server Manager형태
  2. Manage -> Add Roles and Features
  3. 다음 Features페이지 까지
  4. WCF Services모든 하위 기능이있는 기능 확인
  5. NextInstall

0

Windows Server 2012 R2의 PHP 7.3 응용 프로그램 IIS

이것은 2 단계 프로세스였습니다.

1) 서버를 다시 시작하여 WCF 서비스 사용

2) FASTCGI 모듈 매핑 추가

1)

서버 관리자로 이동> 역할 및 기능 추가 서버 풀에서 서버 선택 기능> WCF 서비스로 이동 모든 범주를 선택한 다음 설치

2)

IIS로 이동하여 사이트 선택 가운데 창에서 처리기 매핑을 선택합니다. 오른쪽 창에서 모듈 매핑 추가를 선택합니다.

편집 창 내에서 :

요청 경로 : * .php

모듈 : FastCgimodule

실행 파일 : PHP 폴더에서 php-cgi.exe를 탐색했습니다.

이름 : PHP7.3

이제 생각합니다. 웹 처리기 내에이 처리기 매핑을 추가하는 방법이있을 수 있으므로 사이트를 다른 서버로 마이그레이션하는 경우이 매핑을 계속 추가 할 필요가 없습니다.

편집 : 여기 있습니다. 이것을 웹 구성 섹션에 추가하십시오.

<add name="PHP-FastCGI" verb="*" 
  path="*.php" 
  modules="FastCgiModule"
  scriptProcessor="c:\php\php-cgi.exe" 
  resourceType="Either" />


0

확장명이없는 파일을 보려고하면 나를 위해 일한 것이 MIME Type: 파일 이름 확장자 : . MIME 유형 :text/plain

특히 M을 처리기 Static File Handler보다 높거나 Extensionless...( IIS/ 아래 Handler Mappings에있는 경우) SSL 인증서 활성화와 같이 일시적으로 만 필요한 경우 해결 방법이 될 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.