"A página que você está solicitando não pode ser exibida devido à configuração da extensão." mensagem de erro

272

Estou recebendo essa mensagem de erro ao tentar executar meu aplicativo. Não sei como consertar:

Erro HTTP 404.3 - Não encontrado A página que você está solicitando não pode ser exibida devido à configuração da extensão. Se a página for um script, adicione um manipulador. Se o arquivo precisar ser baixado, adicione um mapa MIME.

Aqui está uma captura de tela da página de erro: texto alternativo

O que posso fazer para corrigir esse erro?

Eric Leschinski
fonte
1
o código fonte seria mais útil do que a página de erro
gsharp
1
Que parte do código fonte você precisaria ver?
1
Depois de seguir as instruções acima, também se você estiver recebendo o mesmo erro, siga o link abaixo e siga as etapas Clique aqui
Raj

Respostas:

170

Use aspnet_regiis.exe para registrar a versão do .NET framework que você está usando.

Esse é um problema comum e ocorre quando o IIS é instalado após a estrutura do VS ou .NET.

Nota - para usuários do Windows 8/10, veja a outra resposta de JohnOpincar abaixo . E também o comentário / dica de Kevin Brydon.

Aliostad
fonte
11
De fato, eu instalei o Visual Studio primeiro e depois o IIS. Atualmente, estou executando o comando "aspnet_regiis.exe -i". Espero que isso corrija o erro.
5
Funcionou para mim também quando recebi esse erro ao tentar acessar um serviço WCF .svc.
Atletway 20/09/12
Nota - para usuários do Windows 8, veja a outra resposta de JohnOpincar abaixo
KyleK 12/15/15
+1 Para qualquer outra pessoa que encontrar isso por meio da Pesquisa, talvez seja mais fácil executar um Reparo na Instalação do .NET em vez de tentar executar aspnet_regiis.exe como o caminho de menor resistência e resolver o problema. Estamos vendo isso muito nas caixas que instalaram o .NET 4.5.2 (via Windows Update) antes da instalação da função IIS, é um pouco frustrante porque essas caixas mostram o .NET 4 como uma opção no pool de aplicativos, mas se seu aplicativo exigir o .NET 4.5 como o nosso, falhará com a mensagem acima.
aolszowka 29/09/2015
246

No Windows 8/10, você precisa usar

  • Abra o Painel de Controle →
  • Programas e Recursos →
  • Ativar ou desativar recursos do Windows →
  • Serviços de Informações da Internet (IIS) →
  • Serviços na Internet →
  • Recursos de desenvolvimento de aplicativos →
  • Verifique os itens apropriados, como ativar o ASP.NET. (ou seja, instale a versão apropriada com a qual você deseja configurar seus sites)

Referência: verifique a solução desta pergunta para referência

JohnOpincar
fonte
217
Eu tinha que verificar .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon
13
execute este comando em um prompt de comando do administrador: "dism / Online / Ativar recurso / nome do recurso: WCF-HTTP-Activation / all" ou "dism / Online / Ativar recurso / nome do recurso: WCF-HTTP-Activation45 / all"
Paulo Suart
Apenas quando eu me acostumei a executar regiis, a Microsoft vai e muda novamente. Bem, pelo menos isso é muito mais fácil - mudança semelhante à instalação do WIF. Agora eles devem adicionar SQL para ativar / desativar os recursos do Windows.
Nocarrier 04/04
@KevinBrydon - Muito obrigado! Sua dica foi muito útil para resolver o problema no Windows 2012 R2.
Amil Waduwawara
No Windows server 2012 R2, a ativação da "Ativação Http" funcionou para mim.
Dhanuka777
117

Corrigi isso no meu Windows 10:

  1. Vá para Painel de controle - Programas e recursos - Ative ou desative os recursos do Windows.

  2. Selecione Serviços Avançados do .NET Framework 4.6 - Serviços WCF

  3. Verifique a ativação HTTP.

  4. Feito.

Quan Nguyen
fonte
5
Funciona para mim no Windows 10! Obrigado!
Sergey Malyutin
1
Obras para me no Win 8.1 também
Qerts
Trabalhou no Win10 iis7
noCodeMonkeys 17/05
Isso funciona após a atualização para o Windows 1709 e ter que reinstalar o meu IIS
garrettendi
Perfeitamente trabalhar para solução me.Ideal se você está recebendo como "Este erro ocorre quando a extensão do URL solicitado arquivo é para um tipo MIME que não está configurado no servidor"
eranda.del
84

No meu caso, eu precisava adicionar tipos MIME para cada extensão de arquivo que eu queria servir para a configuração da web:

<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>
Mahmoodvcs
fonte
2
1+ que fixa o meu problema ... Eu estava tentando carregar o .jsone eu estava continuo recebendo o erro OP e, finalmente, acabar-se adicionando a mimeMapno meu web.config e resolveu o problema
Nick Kahn
Também preciso adicionar o tipo MIME para arquivo asmx?
Shilpa Soni
Os arquivos @ShilpaSoni asmx são arquivos do servidor asp.net (não conteúdo estático). então você não pode e não precisa baixá-los do cliente.
Mahmoodvcs
1
E aqui está um mapa de extensões de arquivo para os seus mimeType apropriadas, encontrados a partir desta pergunta SO
The Red Pea
21

Caso isso ajude alguém, eu estava recebendo este erro ao tentar executar o aspnet_regiis.exe:

Falha na operação com 0x8007000B

Foi feita uma tentativa de carregar um programa com um formato incorreto

Como se vê, o servidor estava executando 2008 de 64 bits e eu estava tentando executar a versão de 32 bits do utilitário. A execução da versão encontrada em \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 corrigiu o problema.

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

Acabei de ter a mesma situação com meu cliente. Temos nosso próprio produto que instala um site. O instalador configura tudo: o pool do IIS, o site, web.config, etc.

Instalamos outro site usando nosso instalador. Como inserimos os mesmos parâmetros, o web.configs passou a ser o mesmo nos dois sites.

No entanto, o site recém-instalado funcionou bem, enquanto o antigo não. Abri duas janelas do Gerenciador do IIS e comecei a comparar a diferença nas configurações do site. E eu encontrei um problema.

Alguém excluiu todos os mapeamentos de manipulador com o site antigo. Se você for para "Mapeamentos de manipuladores", deverá ver aspx, asmx e outras extensões e nomes dos manipuladores. Portanto, no site antigo, todos esses registros estavam ausentes.

Portanto, sugiro primeiro verificar os "Mapeamentos de manipulador" - deve haver muitos registros lá. Crie um novo site e compare para saber quantos devem existir.

Quem os excluiu, uma pessoa ou outro programa, não faço ideia. Se alguém puder dizer se existe algum aplicativo de rastreamento que indique que o domínio do usuário \ john estava modificando o site na data "07.03.2012 12:34", isso seria útil.

Ihor B.
fonte
Poderia ter sido uma atualização de segurança da Microsoft ?
Roman Starkov 23/09
6

Corrigi meu problema no servidor Windows 2012 instalando TODOS os recursos do WCF.

A) Gerenciador de servidores> Gerenciar [link superior esquerdo]> Adicionar funções e recursos

B) Em Recursos> Recursos do .Net Framework 4.5> Serviços WCF

C) Verifique (ative) os recursos. Eu verifiquei tudo.

D) Instalar

Demodave
fonte
2
Eu verifiquei apenas a ativação HTTP e a ativação TCP e funcionou para mim. Obrigado mesmo assim!
Aleksei Mialkin 22/08/16
6

A execução do Windows Server 2008 R2 de 64 bits e o .net framework 4.5, executou este comando a partir deste local e foi bem-sucedida:

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

resultado:

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).
Jason Hitchings
fonte
3

Como o @Mahmoodvcs mencionou, era necessário definir / adicionar tipos MIME para a extensão de arquivo que eu precisava hospedar / baixar diretamente, nesse caso, é um arquivo de despejo do Heroku (backup do banco de dados do postgres), portanto, para definir um servidor público do IIS em que você pode fazer o download desses arquivos sem exigir compartilhamentos AWS S3 ou HTTP, como o dropbox, é uma ótima opção!

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

d1jhoni1b
fonte
2

Eu também tive esse erro, no Windows Server 2008 IIS 7, não tinha o visual studio instalado, então uma reinstalação / reparo do .NET 4.0 fez o truque.

Leigh
fonte
1

Para adicionar uma extensão para veiculação no IIS, siga -

  1. Abra o Gerenciador do IIS e navegue até o nível que deseja gerenciar.
  2. Na Exibição de recursos, clique duas vezes em Tipos MIME.
  3. No painel Ações, clique em Adicionar.
  4. Na caixa de diálogo Adicionar tipo MIME, digite uma extensão de nome de arquivo na caixa de texto Extensão de nome de arquivo. ... Digite um tipo MIME
  5. na caixa de texto tipo MIME.
  6. Clique OK.
Shahadat Hossain Khan
fonte
1
Eu testei essa solução no caso de Ts (Tipo Script Files) você deve declarar o tipo MIME campos Dactilografado (Ts) Eu uso text / x.typescript como Tipo de Mime
freedeveloper
0

Verifique se o pool de aplicativos no IIS (no caso do IIS7 ou superior) está selecionado como integrado. Nesse caso, provavelmente mudar para Clássico pode resolver esse problema.

user1006743
fonte
0

Relacionado ao Server 2016, devo adicionar:

  1. Execute este comando: a aspnet_regiis -lvpartir deste diretório: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ Isso fornece a melhor visualização do que está acontecendo

  2. No Server 2016, a instalação de .net e iis fora de sequência não parece ser um problema.

  3. O mais provável de ser um problema no Server 2016 é simplesmente que o asp.net não está instalado na máquina.

Jonesome Restabelecer Monica
fonte
0

Para Windows Server 2016

  1. Abrir Server Managerformulário
  2. Manage -> Add Roles and Features
  3. Avançar até a Featurespágina
  4. Verificar WCF Servicesrecurso com todas as sub-características
  5. Next e Install
Serkan Arslan
fonte
0

Aplicativo IIS 7.3 do PHP no Windows Server 2012 R2

Este foi um processo de duas etapas para mim.

1) Habilite os serviços WCF - com uma reinicialização do servidor

2) Adicione um mapeamento de módulo FASTCGI

1)

Vá para Gerenciador de servidores> Adicionar funções e recursos. Selecione seu servidor no pool de servidores. Vá para Recursos> Serviços WCF. Selecionei todas as categorias e instalei

2)

Vá para IIS> selecionou o site No painel central, selecione Mapeamentos de manipulador Painel direito, selecione Adicionar mapeamentos de módulo

Dentro da janela de edição:

Caminho da solicitação: * .php

Módulo: FastCgimodule

Executável: Naveguei para o php-cgi.exe dentro da minha pasta PHP

Nome: PHP7.3

Agora que penso nisso. Pode haver uma maneira de adicionar esse mapeamento de manipulador dentro da configuração da web. Portanto, se você migrar seu site para outro servidor, não precisará adicioná-lo repetidamente.

EDIT: Aqui está. Adicione isso à seção de configuração da web.

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

Se você está tentando visualizar um arquivo sem extensão, o que funcionou para mim foi adicionar um MIME Type: Extensão de nome de arquivo : . Tipo MIME :text/plain

Isso pode ter algumas implicações no MVC, especialmente se você Static File Handlerestiver acima dos Extensionless...manipuladores (em IIS/ Handler Mappings), mas pode ser uma solução alternativa quando você precisa disso temporariamente, como ativar SSL Certs.

Serj Sagan
fonte