"La page que vous demandez ne peut pas être diffusée en raison de la configuration de l'extension." Message d'erreur

272

Je reçois ce message d'erreur lorsque j'essaie d'exécuter mon application. Je ne sais pas comment y remédier:

Erreur HTTP 404.3 - Introuvable La page que vous demandez ne peut pas être servie en raison de la configuration de l'extension. Si la page est un script, ajoutez un gestionnaire. Si le fichier doit être téléchargé, ajoutez une carte MIME.

Voici une capture d'écran de la page d'erreur: texte alternatif

Que puis-je faire pour corriger cette erreur?

Eric Leschinski
la source
1
le code source serait plus utile que la page d'erreur
gsharp
1
Quelle partie du code source auriez-vous besoin de voir?
1
Après avoir suivi les instructions ci-dessus, puis si vous obtenez la même erreur, suivez le lien ci-dessous et suivez les étapes Cliquez ici
Raj

Réponses:

170

Utilisez aspnet_regiis.exe pour enregistrer la version du framework .NET que vous utilisez.

Il s'agit d'un problème courant qui se produit lorsque IIS est installé après le framework VS ou .NET.

Remarque - pour les utilisateurs de Windows 8/10, voir l'autre réponse de JohnOpincar ci-dessous . Et aussi le commentaire / conseil de Kevin Brydon.

Aliostad
la source
11
En fait, j'ai installé Visual Studio d'abord, puis IIS. J'exécute actuellement la commande "aspnet_regiis.exe -i". Espérons que cela corrige l'erreur.
5
A également fonctionné pour moi lorsque j'ai eu cette erreur en essayant d'accéder à un service WCF .svc.
atconway
Remarque - pour les utilisateurs de Windows 8, voyez l'autre réponse de JohnOpincar ci
KyleK
+1 Pour quiconque trouve cela via la recherche, il peut être plus facile d'effectuer une réparation sur l'installation .NET au lieu d'essayer d'exécuter aspnet_regiis.exe comme chemin de moindre résistance et résout le problème. Nous voyons beaucoup cela sur les boîtes qui ont installé .NET 4.5.2 (via Windows Update) avant d'installer le rôle IIS, c'est un peu frustrant car ces boîtes afficheront .NET 4 en option dans leur pool d'applications, mais Si votre application nécessite .NET 4.5 comme la nôtre, elle échouera avec le message ci-dessus.
aolszowka
246

Sous Windows 8/10, vous devez utiliser

  • Ouvrez le panneau de configuration →
  • Programmes et fonctionnalités →
  • Activer ou désactiver les fonctionnalités Windows →
  • Services Internet (IIS) →
  • Services du World Wide Web →
  • Fonctionnalités de développement d'applications →
  • Vérifiez les éléments appropriés, tels que l'activation d'ASP.NET. (c'est-à-dire installer la version appropriée avec laquelle vous souhaitez configurer vos sites Web)

Référence: Vérifiez la solution de cette question pour référence

JohnOpincar
la source
217
Je devais vérifier .NET Framework 4.5 Advanced Services> WCF Services>HTTP Activation
Kevin Brydon
13
exécutez cette commande à partir d'une invite de commandes administrateur: "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation / all", ou "dism / Online / Enable-Feature / FeatureName: WCF-HTTP-Activation45 / all"
Paul Suart
Juste au moment où je me suis habitué à exécuter regiis, Microsoft va le changer à nouveau. Eh bien au moins, c'est beaucoup plus facile - changement similaire à l'installation de WIF. Maintenant, ils doivent ajouter SQL pour activer / désactiver les fonctionnalités Windows.
nocarrier
@KevinBrydon - Merci beaucoup! Votre conseil a été très utile pour résoudre le problème sur Windows 2012 R2.
Amil Waduwawara
Dans Windows Server 2012 R2, l'activation de l '"activation HTTP" a fonctionné pour moi.
Dhanuka777
117

J'ai corrigé cela sur mon Windows 10:

  1. Allez dans Panneau de configuration - Programmes et fonctionnalités - Activez ou désactivez les fonctionnalités Windows.

  2. Sélectionnez .NET Framework 4.6 Advanced Services - WCF Services

  3. Vérifiez l'activation HTTP.

  4. OK fait.

Quan Nguyen
la source
5
Fonctionne pour moi sur Windows 10! Je vous remercie!
Sergey Malyutin
1
Fonctionne pour moi sur la victoire 8.1 également
Qerts
A travaillé sur Win10 iis7
noCodeMonkeys
Cela fonctionne après la mise à niveau vers Windows 1709 et avoir à réinstaller mon IIS
garrettendi
Fonctionne parfaitement pour moi. Solution idéale si vous obtenez comme "Cette erreur se produit lorsque l'extension de fichier de l'URL demandée est pour un type MIME qui n'est pas configuré sur le serveur"
eranda.del
84

Dans mon cas, j'avais besoin d'ajouter des types MIME pour chaque extension de fichier que je voulais servir à la configuration 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
la source
2
1+ cela a résolu mon problème ... j'essayais de charger le .jsonet je continuais à recevoir l'erreur OP et finalement j'ai fini par ajouter le mimeMapdans mon web.config et j'ai résolu le problème
Nick Kahn
Dois-je également ajouter le type MIME pour le fichier asmx?
Shilpa Soni
Les fichiers asmx @ShilpaSoni sont des fichiers serveur asp.net (pas du contenu statique). vous ne pouvez donc pas et vous n'avez pas besoin de les télécharger depuis le client.
Mahmoodvcs
1
Et voici une carte des extensions de fichiers vers leur mimeType approprié, trouvée à partir de cette question SO
The Red Pea
21

Dans le cas où cela aiderait quelqu'un, j'obtenais cette erreur lors de la tentative d'exécution de aspnet_regiis.exe:

L'opération a échoué avec 0x8007000B

Une tentative a été effectuée pour charger un programme avec un format incorrect

Il s'avère que le serveur exécutait 2008 64 bits et j'essayais d'exécuter la version 32 bits de l'utilitaire. L'exécution de la version trouvée dans \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 a résolu le problème.

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

Je viens d'avoir la même situation avec mon client. Nous avons notre propre produit qui installe un site Web. Le programme d'installation configure tout: le pool IIS, le site, web.config, etc.

Nous avons installé un autre site Web à l'aide de notre programme d'installation. Nous avons entré les mêmes paramètres, donc web.configs s'est avéré être le même sur les deux sites.

Cependant, le site nouvellement installé a bien fonctionné, contrairement à l'ancien. J'ai ensuite ouvert 2 fenêtres IIS Manager et commencé à comparer la différence dans les paramètres du site Web. Et j'ai trouvé un problème.

Quelqu'un a supprimé tous les mappages de gestionnaires avec l'ancien site. Si vous allez dans "Mappages de gestionnaires", vous devriez y voir aspx, asmx et d'autres extensions et noms des gestionnaires. Donc, dans l'ancien site, tous ces enregistrements manquaient.

Donc, je suggère d'abord de vérifier les "mappages de gestionnaires" - il doit y avoir beaucoup d'enregistrements là-bas. Créez un nouveau site Web et comparez pour savoir combien il devrait y en avoir.

Qui les a supprimés, une personne ou un autre programme, je n'en ai aucune idée. Si quelqu'un peut savoir s'il existe une application de suivi qui indiquerait que le domaine utilisateur \ john modifiait le site Web à la date "07.03.2012 12:34", ce serait utile.

Ihor B.
la source
Serait-ce une mise à jour de sécurité Microsoft ?
Roman Starkov
6

J'ai résolu mon problème sur le serveur Windows 2012 en installant TOUTES les fonctionnalités WCF.

A) Gestionnaire de serveur> Gérer [lien en haut à gauche]> Ajouter des rôles et des fonctionnalités

B) Dans Fonctionnalités> Fonctionnalités de .Net Framework 4.5> Services WCF

C) Vérifiez (activez) les fonctionnalités. J'ai tout vérifié.

D) Installer

Demodave
la source
2
J'ai vérifié uniquement l'activation HTTP et l'activation TCP et cela a fonctionné pour moi. Merci quand même!
Aleksei Mialkin
6

Exécution de Windows Server 2008 R2 64 bits et .net framework 4.5, a exécuté cette commande à partir de cet emplacement et a réussi:

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

production:

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
la source
3

Comme @Mahmoodvcs l'a mentionné, je devais définir / ajouter des types MIME pour l'extension de fichier que j'avais besoin d'héberger / télécharger directement, dans ce cas, c'est un fichier de vidage de Heroku (sauvegarde de la base de données de postgres), donc afin de définir un serveur IIS public où vous pouvez télécharger ces fichiers sans avoir besoin du compartiment AWS S3 ou des partages HTTP comme dropbox, c'est une option formidable!

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

d1jhoni1b
la source
2

Moi aussi, j'ai eu cette erreur, sur Windows Server 2008 IIS 7, je n'avais aucun studio visuel installé, donc une réinstallation / réparation de .NET 4.0 a fait l'affaire.

Leigh
la source
1

Pour ajouter une extension à diffuser dans IIS, suivez -

  1. Ouvrez IIS Manager et accédez au niveau que vous souhaitez gérer.
  2. Dans Affichage des fonctionnalités, double-cliquez sur Types MIME.
  3. Dans le volet Actions, cliquez sur Ajouter.
  4. Dans la boîte de dialogue Ajouter un type MIME, tapez une extension de nom de fichier dans la zone de texte Extension de nom de fichier. ... Tapez un type MIME
  5. dans la zone de texte de type MIME.
  6. Cliquez sur OK.
Shahadat Hossain Khan
la source
1
J'ai testé cette solution dans le cas de .ts (Type Script Files) que vous devez déclarer dans les champs de type MIME Typescript (.ts) J'utilise text / x.typescript comme type
MIME
0

Vérifiez que le pool d'applications dans IIS (dans le cas d'IIS7 ou supérieur) est sélectionné comme intégré. Dans ce cas, le passage à Classic peut probablement résoudre ce problème.

user1006743
la source
0

Concernant Server 2016, je devrais ajouter:

  1. Exécutez cette commande: à aspnet_regiis -lvpartir de ce répertoire: C:\Windows\Microsoft.NET\Framework\v2.0.50727\ cela vous donne la meilleure vue de ce qui se passe

  2. Sur Server 2016, l'installation de .net et iis hors séquence ne semble pas être un problème.

  3. Ce qui est plus susceptible d'être un problème sur Server 2016 est simplement que asp.net n'est pas installé sur la machine.

Jonesome Reinstate Monica
la source
0

Pour Windows Server 2016

  1. Server ManagerFormulaire ouvert
  2. Manage -> Add Roles and Features
  3. Suivant jusqu'à Features page
  4. Vérifier la WCF Servicesfonctionnalité avec toutes les sous-fonctionnalités
  5. Next et Install
Serkan Arslan
la source
0

PHP 7.3 Application IIS sur Windows Server 2012 R2

Ce fut un processus en deux étapes pour moi.

1) Activer les services WCF - avec un redémarrage du serveur

2) Ajouter un mappage de module FASTCGI

1)

Accédez au Gestionnaire de serveur> Ajouter des rôles et des fonctionnalités Sélectionnez votre serveur dans le pool de serveurs Accédez à Fonctionnalités> Services WCF J'ai sélectionné toutes les catégories puis installé

2)

Accédez à IIS> sélectionnez le site Dans le volet central, sélectionnez Mappages de gestionnaires Volet droit, sélectionnez Ajouter des mappages de modules

Dans la fenêtre d'édition:

Chemin de la demande: * .php

Module: FastCgimodule

Exécutable: j'ai accédé au fichier php-cgi.exe dans mon dossier PHP

Nom: PHP7.3

Maintenant que j'y pense. Il peut y avoir un moyen d'ajouter ce mappage de gestionnaire à l'intérieur de la configuration Web, donc si vous migrez votre site vers un autre serveur, vous n'avez pas besoin d'ajouter ce mappage encore et encore.

EDIT: Le voici. Ajoutez ceci à la section de la web-config.

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

Si vous essayez d'afficher un fichier sans extension, ce qui a fonctionné pour moi a été d'ajouter une MIME Type: Extension de nom de fichier : . Type MIME :text/plain

Cela peut avoir des implications MVC, surtout si vous êtes Static File Handlerau-dessus des Extensionless...gestionnaires (sous IIS/ Handler Mappings), mais cela peut être une solution lorsque vous n'en avez besoin que temporairement, comme l'activation des certificats SSL.

Serj Sagan
la source