web-dev-qa-db-fra.com

Erreur HTTP 403.14 - Interdit Le serveur Web est configuré pour ne pas répertorier le contenu.

J'ai téléchargé l'application ASP.NET de MVC Music Store à l'emplacement C:\Utilisateurs\DEVESH\Bureau\Projets\MvcMusicStore-v3.0\MvcMusicStore-Completed\MvcMusicStore Et ajouté le site Web sur IIS à la même endroit. J'ai également donné la permission à IIS_IUSRS, mais lorsque j'exécute localhost, j'obtiens le message d'erreur suivant:

Erreur HTTP 403.14 - Interdit Le serveur Web est configuré pour ne pas répertorier le contenu de ce répertoire.

Je l'ai googlé, mais je n'ai pas trouvé de solution. Qu'est ce que je fais mal?

27
F11

J'ai rencontré cette erreur car j'avais la mauvaise version .NET (v2.0 au lieu de v4.0) configurée sur le pool d'applications du site Web. J'ai corrigé le problème de cette façon sous Windows Server 2008 R2 et IIS 7. Je suis presque certain que les instructions s'appliquent également à Windows Server 2012 et à IIS 8:

  • Appuyez sur les touches Windows + R pour ouvrir la boîte de dialogue Exécuter, tapez inetmgr puis cliquez sur OK. Cela ouvre le gestionnaire IIS.
  • Dans l'arborescence de gauche, localisez le nœud Sites et recherchez le nœud Site Web par défaut (ou le nom du site sur lequel le message d'erreur s'affiche).
  • Cliquez avec le bouton droit sur le nœud et sélectionnez Gérer le site Web -> Paramètres avancés .... Notez le nom de la valeur Pool d'applications. Fermez cette boîte de dialogue.
  • Dans l'arborescence située à gauche, localisez et sélectionnez le nœud Pools d'applications.
  • Dans la liste de droite, recherchez le pool d'applications portant le même nom que celui que vous avez noté dans les paramètres du site Web. Cliquez dessus avec le bouton droit et sélectionnez Paramètres avancés ...
  • Assurez-vous que la valeur de la version .NET Framework est v4.0. Cliquez sur OK.

Cela ne s'applique pas si vous utilisez un site plus ancien qui devrait en fait disposer de .NET v2.0, bien sûr :)

36
Daniel Persson

Dans mon cas, ASP.NET n'est pas enregistré sur le serveur. essayez d'exécuter ceci dans l'invite de commande:

Windows 32bit

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

Windows 64bit

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 
14
user3373603

Juste au cas où quelqu'un cherchait une solution, voici comment je l'ai résolue. Par erreur, j'ai supprimé tous les fichiers de mon serveur (répertoire bin) mais quand j'ai recopié tous les fichiers, j'ai raté les fichiers App_global.asax.dll et App_global.asax.compiled. Parce que ces fichiers étaient manquants IIS me donnait cette erreur 

403 - Forbidden: Access is denied.

Dès que j'ai ajouté ces fichiers, cela a parfaitement fonctionné.

9
ATHER

J'ai résolu ce problème en corrigeant une erreur lors de l'arrangement de mon fichier Global.asax. J'avais copié les fichiers d'un autre projet et échoué à intégrer Global.asax.cs dans le fichier Global.asax (les deux fichiers existaient auparavant au même niveau).

 Global.asax arrangement

7
Luke Zaparaniuk

Je me suis déjà rencontré de la même façon auparavant pour 2 raisons: 1. MVC n'est pas installé. 2. Le module de routage url n'est pas enregistré (cela varie d'une machine à l'autre sur mon lieu de travail pour une raison que je ne peux pas expliquer complètement - il n'est pas toujours enregistré au niveau système), essayez de l'enregistrer dans l'application web.config:

<system.web> 
      ... 
      <httpModules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </httpModules>
   </system.web>

Edit: J'ai oublié d'ajouter l'emplacement pour IIS 7+:

<system.webServer> 

      <modules> 
         ... 
         <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
      </modules>
</system.webServer>
5
David Bennington

J'utilisais l'application ASP.NET 4.5 MVC sur IIS 7. Mon correctif consistait à définir runallmanagedmodule sur true.

<system.webServer>
            <modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

ou Si vous avez d'autres modules, vous pouvez les ajouter à la balise module.

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
             <add name="ErrorLogWeb" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
             ...
    </modules>
</system.webServer>

Présentation des modules IIS: site officiel de Microsoft IIS

3
Priyank Agarwal

Cette erreur peut se produire lorsque, dans IIS Manager, le site ASP.NET MVC est dirigé vers le mauvais répertoire. 

Dans mon cas, par inadvertance, le site a été dirigé vers le répertoire de la solution au lieu du répertoire du projet enfant. C'est-à-dire que j'avais le Physical path du site réglé sur

C:\dev\MySolution 

au lieu de 

C:\dev\MySolution\MyProject.

Étapes spécifiques pour résoudre ce problème:

  1. Ouvrez le gestionnaire IIS (Démarrer> Exécuter> inetmgr);
  2. Dans le volet gauche du Gestionnaire IIS, développez Sites;
  3. Sous Sites, cliquez sur le site Web ASP.NET MVC.
  4. Dans le volet de droite, cliquez sur Paramètres de base ...;
  5. Dans la boîte de dialogue Modifier le site, modifiez le Physical path dans le répertoire du projet. 
  6. Cliquez sur OK.
2
Jon Schneider

Je viens d'avoir le même problème, mais mon problème était que le routage n'était pas configuré dans le fichier Global.asax.cs. J'utilise Bootstrapper et Castle Windsor, donc pour résoudre ce problème, j'ai ajouté le code suivant à Global.asax.cs:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            Bootstrapper.IncludingOnly.Assembly(Assembly.GetAssembly(typeof(WindsorRegistration)))
                .With
                .Windsor()
                .With
                .StartupTasks()
                .Start();
        }
    }

Évidemment, si vous utilisez le MVC de base, vous devrez alors référencer le fichier RouteConfig dans le dossier AppStart:

public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
2
John

Dans mon cas, j’avais plusieurs projets mais je n’avais pas défini le projet de départ . Après avoir défini le projet startUp, le problème a été résolu.

2
rns

Cette erreur se produit lorsque l'application ne peut pas démarrer.
La cause peut donc être tout ce qui empêche votre application de démarrer.

  • Mauvaise chaîne de connexion
  • Mauvaises autorisations de répertoire IIS
  • Une exception levée dans votre fonction Application_Start ()
  • Erreur d'initialisation du conteneur IOC
  • Erreurs d'inscription IIS ASP.NET
  • Manquant DLL dans votre dossier bin
  • etc...
2
Hüseyin Yağlı

J'ai eu cette erreur après avoir créé une application ASP.Net vide dans Visual Studio. Dès que j'ai ajouté un fichier index.html à la solution principale, cela a fonctionné. Donc, dans mon cas, je devais simplement ajouter un fichier à la racine du dossier du projet.

1
live-love

Si le projet est un projet ASP.net MVC, il s'agira d'un routage . Dans mon cas, j'ai modifié les valeurs de routage par défaut:

routes.MapRoute(
           "Default",                                              
           "{controller}/{action}/{id}",                           
           new { controller = "Home", action = "Index", id = "" }  
       );

J'ai changé mon code accidentellement en: 

routes.MapRoute(
               "Default",                                              
               "{controller}/{action}/{JobID}",                           
               new { controller = "Home", action = "Index", id = "" }  
           );

Thats I seulement changé "id" à "JobId" et la route par défaut ne peut pas être trouvé.

1
Ahmet Arslan

dans mon cas: 1. Dans le gestionnaire IIS, dans l'arborescence de gauche, cliquez avec le bouton gauche sur le nom de l'ordinateur, dans la boîte de dialogue de droite, cliquez sur Limitation ISAPI et CGT, dans la boîte de dialogue ouverte, sélectionnez ASP.NET v4.0.30319, puis activez. Il y a deux ASP.Net v4.0, un pour 32 bits, un autre pour 64 bits. sélectionnez en fonction de votre bit OS . 2. dans l'arborescence de gauche, sélectionnez le pool d'applications, dans la boîte de dialogue de droite, sélectionnez le pool d'applications utilisé par votre site Web. Double-cliquez sur ce groupe. Dans la boîte de dialogue ouverte, sélectionnez .net Framke, sélectionnez .net Framework v.4.0.30319. et pipe..item select integate . Peut-être y at-il une traduction incorrecte ci-dessus car mon système d’exploitation n’est pas la version anglaise.

0
Penny

Mes collègues ont créé un règle de réécriture d'URL , qui réduit toutes les URL à un StaticFileHandler; mappé sur un chemin de fichier à la racine du dossier physique de mon application.

(c'est-à-dire qu'une réécriture d'URL trop agressive signifie que mes contrôleurs/actions ne fonctionnaient pas)

Vérifiez les règles de réécriture de l'URL de vos applications pour vous assurer qu'elles répondent à vos attentes.

0
The Red Pea

Si quelqu'un trouve cela pour un projet autre que MVC:

Mon projet était un projet WCF, qui exécute des fichiers .svc - pas de document par défaut. En conséquence, j'ai eu une erreur 403.14 à myhost.com/, mais dès que j'ai ajouté un chemin baseAddress à partir de mon fichier web.config (par exemple, myhost.com/mybaseaddresspath.svc, j'ai eu une page Web.

0
codeMonkey

Vérifiez ceci aussi:

Ce problème se produit car la fonctionnalité de recherche dans l'annuaire n'est pas activée sur le site Web et le document par défaut n'est pas configuré. Pour résoudre ce problème, appliquez l'une des méthodes suivantes:

  • Méthode 1: Activer la fonctionnalité de recherche dans Directory dans IIS (recommandé)
  • Méthode 2: Ajouter un document par défaut Méthode 3: Activer le répertoire
  • Méthode 3: activez la fonctionnalité de navigation dans Directory dans IIS Express

LIEN: https://support.Microsoft.com/en-us/kb/942062

0

IUSR permissions utiliser sur un dossier si pas sous inetpub/wwwroot sera une solution pour certains.

0
Tom Stickel

Dans mon cas, le fichier index.aspx n’a pas été créé par défaut et après l’ajout d’un autre formulaire Web, je n’ai pas défini le formulaire comme page de démarrage ... Après avoir défini la page comme page de démarrage, mon problème a été résolu. form et définissez le formulaire comme page de démarrage :)

0
AtiKa Bhatti

Dans mon cas, j'ai dû désactiver "Exclure les fichiers du dossier App_Data" dans mon profil de publication pour déployer le dossier App_Data avec ma documentation XML (XmlDocument.xml). Cela s'est débarrassé du 403.14.

0
Sujay Paranjape