web-dev-qa-db-fra.com

Erreur HTTP 403.14 - Interdit IIS Erreur pour l'application ASP.Net MVC 4

nous avons développé une application asp.net mvc 4. en vs 2012 cela fonctionne bien. nous publions cette application Web et la mettons sur iis 7.5, mais lorsque nous souhaitons parcourir une application Web via iis, le message d'erreur suivant était affiché:

HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.

nous pensons que cette erreur provient peut-être de cette application Web, mais nous créons une autre application asp.net mvc 4 (sans aucune modification et avec un modèle Internet) et en la mettant sur iis, et encore une fois, les erreurs les plus importantes nous sont présentées.

nous cherchons sur Internet et voyons plus de gens que ce problème se produisait pour leur . par exemple dans ceci: 403 - Interdit sur MVC 3 de base à déployer sur iis7.5 link introduisons une idée pour résoudre ce problème et supposons que ce problème a été résolu pour leur public, mais que cette solution ne fonctionne pas pour moi . un autre lien que nous disons comprend: this https://stackoverflow.com/questions/6885509/http-error- 403-14-interdit Et ceci: http://yassershaikh.com/http-error-403-14-forbidden-the-web-server-is-configured-to-not-list-the -contents-of-this-directory/ mais cette solution ne fonctionne pas pour moi

une idée pour résoudre ce problème?

25
Pezhman Parsaee

une mise à jour pour IIS est mon problème résolu, qui peut être téléchargé à partir du lien ci-dessous: http://support.Microsoft.com/kb/980368

8
Pezhman Parsaee

J'ai eu le même problème sur une machine neuve, après avoir installé IIS 7.5, Visual Studio, etc J'ai fini par actualiser l'enregistrement ASP.NET et cela a fonctionné.

C:\windows\Microsoft.NET\Framework64\v4.0.30319>.\Aspnet_regiis.exe -ir C:\windows\Microsoft.NET\Framework64\v4.0.30319> iisreset

HTH

42
Maurizio Macagno

Vous devez d’abord enregistrer le framework pour IIS en exécutant la commande suivante dans la commande Invite as

C:\windows\Microsoft.NET\Framework\v4.0.30319> aspnet_regiis.exe -i C:\windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis.exe -i 

Si vous obtenez toujours une erreur en tant que


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


Ensuite, vous avez probablement besoin d’une mise à jour pour IIS qui est utilisée lorsque les URL ne se terminent pas par un point.

Veuillez visiter le lien suivant pour la mise à jour http://support.Microsoft.com/kb/980368

Une mise à jour est disponible qui permet à certains IIS 7.0 ou IIS 7.5 de gérer des demandes dont les URL ne se terminent pas par un point.

11
Ajay Suwalka

Cela m’est arrivé parce que j’ai fait par erreur une recherche non liée et que j’ai remplacé le paramètre 'id' (3ème ligne) dans Global.asax.cs:

            routes.MapRoute(
               "Default", // Route name
               "{controller}/{action}/{id}", // URL with parameters
               new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults

... à un autre nom. J'ai immédiatement commencé à obtenir 403.14 localement et à distance. Le changer pour revenir à 'id' l'a corrigé.

7
Seth

Ouvrez l'invite de commande en élévation dans Windows (exécutez l'invite de commande en tant qu'administrateur).

Et exécutez la commande aspnet_regiis -i à l’emplacement .Net Framework et .Net Framework64. Comme ci-dessous, le paramètre i indique ici que vous souhaitez installer ASP.NET version 4. La première commande concerne 32 bits et la seconde, l'installation de la version 64 bits.

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

ScreenshotCommandPrompt

Les commandes permettent d’enregistrer les applications ASP.NET auprès du serveur IIS (Internet Information Services).

5
Lucky

Peut-être ... S'il vous arrive d'utiliser l'assistant de publication Wizard (comme je l'ai fait) et de cocher la case "Précompiler pendant la publication" (comme je l'ai fait) et de voir les mêmes symptômes ... 

Oui, je me suis frappé la tête, mais après avoir décoché cette case, le réglage, apparemment sans rapport, tous les symptômes décrits disparaissent.

Espérons que cela corrige certaines personnes.

3

Je voudrais commenter la réponse de @ Seth si j'avais 50 rep. Ce n'est pas simplement un problème de recherche et de remplacement. Il existe un Refactor -> Rename Bug dans Visual Studio 2012 qui a renommé à tort "id" dans la chaîne littérale du paramètre url dans le paramètre RouteConfig.cs. Bien sûr, il est résolu que "ne résoudra pas", alors soyez averti.

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

a été changé en

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{replaced_text}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
2
user641770

On dirait que l'application n'est pas correctement configurée. Assurez-vous que votre configuration web a été déployée, ainsi que tous vos fichiers d'application, et que le pool d'applications est configuré correctement.

Si vous accédez directement à la machine exécutant IIS, vous obtiendrez probablement un message d'erreur plus détaillé.

2
Sam

Dans mon cas, le problème concernait le paramètre Physical Path. 

Il désignait C:\inetpub\wwwroot\MySite

mais le site importé était en réalité atC:\inetpub\wwwroot\MySite\Site Web par défaut\MySite

J'ai changé le chemin dans iis via MySite -> Modifier le site -> Paramètres de base et je suis parti pour les courses.

1
Alasdair Cameron

Avait la même erreur (403.14) après avoir copié un ConnectionString actif de mon web.config sur un projet plus récent pour remplacer le ConnectionString sur un ancien projet, puis avait commencé à tester sur localdb et avait reçu l'erreur. Remarque: J'ai copié, de nouveau web.config vers ancien web.config, la partie connectionString de la chaîne de connexion uniquement et je n’ai apporté aucune modification au nom ou au nom de fournisseur de l’ancien projet. Après plusieurs heures de recherche, il est finalement entré dans l’une des sources sqldatasources attachées de l’ancien projet (sous l’onglet Conception de VS 2012) et a reconfiguré le sqldatasource (cliquez sur «Configurer la source de données») et a sélectionné le nom associé. avec l’un des ConnectionStrings récemment copiés. C’est tout ce qu’il fallait pour commencer et après avoir reconfiguré le ConnectionString, il a commencé à fonctionner. Vous croyez que, lorsque j'ai copié ConnectionString du nouveau projet sur l'ancien projet, la table par défaut spécifiée dans le processus d'affectation sqldatasource a peut-être été perdue? 

0
stroopwafel

Vous devez modifier le pool d'applications pour le site:

  • Allez dans le panneau "Actions"
  • Puis sélectionnez "Paramètres de base"
  • Sur "Pool d'applications", choisissez "Sélectionner ..."
  • Enfin ASP.NET v4.0
0
ArthurAkhmerov

Dans mon cas, le site Web par défaut a été mappé vers une autre application. Lorsque je tentais d'accéder à mon application sur le site Web par défaut, l'erreur 403.14 s'est produite.

La solution consistait à remapper le site Web par défaut sur C:\inetpub\wwwroot.

0
Gabriel

J'ai eu la même erreur, mais aucune des solutions ci-dessus n'a fonctionné pour moi, il s'est avéré que .NET 4.6 était installé sur ma machine de développement, mais le projet ciblait .net 4.5. Je ne pouvais pas comprendre la raison pour laquelle cela s'était passé, mais néanmoins cette chose a fonctionné pour moi.

0
Abhishek Siddhu