Domanda Errore HTTP 403.14 - Proibito Il server Web è configurato per non elencare il contenuto


Ho scaricato l'applicazione MVC ASP.NET MVC Music Store nella posizione C: \ Users \ DEVESH \ Desktop \ Projects \ MvcMusicStore-v3.0 \ MvcMusicStore-Completed \ MvcMusicStore e ha aggiunto il sito Web su IIS nella stessa posizione. Ho anche dato il permesso a IIS_IUSRS, ma quando eseguo localhost sto ricevendo l'errore:

Errore HTTP 403.14 - Proibito Il server Web è configurato per non elencare il contenuto di questa directory.

Ho cercato su Google, ma non in grado di risolvere. Qualcuno potrebbe dirmi dove sto sbagliando?


26
2017-07-13 14:42


origine


risposte:


Mi sono imbattuto in questo errore perché avevo la versione .NET errata (v2.0 invece di v4.0) configurata nel pool di applicazioni del sito web. L'ho risolto in questo modo su Windows Server 2008 R2 e IIS 7. Sono abbastanza sicuro che le istruzioni si applichino anche a Windows Server 2012 e IIS 8:

  • Premere i tasti Windows + R per aprire la finestra di dialogo Esegui, digitare inetmgr e quindi fare clic su OK. Questo apre il Gestore IIS.
  • Nella vista ad albero sinistra, individuare il siti nodo e trova il Sito Web predefinito nodo sotto di esso (o il nome del sito in cui appare il messaggio di errore).
  • Fare clic con il tasto destro del mouse sul nodo e selezionare Gestisci sito web -> Impostazioni avanzate .... Annota il nome del valore Pool di applicazioni. Chiudi questa finestra di dialogo.
  • Nella vista ad albero a sinistra, individuare e selezionare il nodo Pool di applicazioni.
  • Nell'elenco a destra, individuare il pool di applicazioni con lo stesso nome di quello indicato nelle impostazioni del sito Web. Fare clic destro e selezionare Impostazioni avanzate...
  • Assicurarsi che il Versione di .NET Framework il valore è v4.0. Clic ok.

Questo non si applica se stai eseguendo un sito più vecchio che dovrebbe avere .NET v2.0, ovviamente :)


34
2018-02-17 20:12



Nel mio caso ASP.NET non è registrato sul server. prova ad eseguirlo nel prompt dei comandi:

Windows 32 bit

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

Windows 64 bit

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

11
2017-07-04 08:33



Nel caso in cui se qualcuno fosse arrivato qui cercando la soluzione, ecco come l'ho risolto. Per errore ho cancellato tutti i file dal mio server (directory bin) ma quando ho ricopiato tutti i file ho perso i file App_global.asax.dll e App_global.asax.compiled. Perché questi file mancavano IIS mi stava dando questo errore

403 - Forbidden: Access is denied.

Non appena ho aggiunto questi file, ha iniziato a funzionare perfettamente.


6
2017-08-13 00:46



Ho incontrato simili me stesso prima per 2 motivi; 1. MVC non è installato. 2. Il modulo di routing dell'URL non è registrato (varia a seconda della macchina sul mio posto di lavoro per un motivo che non riesco a spiegare completamente - non è sempre registrato a livello di sistema), prova a registrarlo nell'applicazione 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>

Modifica: ho dimenticato di aggiungere il percorso per iOS 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
2017-07-13 15:37



Ho risolto questo problema correggendo un errore con il mio arrangiamento di file Global.asax. Ho copiato i file da un altro progetto e non sono riuscito a incorporare Global.asax.cs nel file Global.asax (entrambi i file esistevano in precedenza allo stesso livello).

Global.asax arrangement


5
2017-08-24 09:51



Ho appena avuto lo stesso problema, ma la mia correzione era che il routing non era configurato nel file Global.asax.cs. Sto usando Bootstrapper e Castle Windsor, quindi per risolvere questo problema ho aggiunto il seguente codice a 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();
        }
    }

Ovviamente, se si sta utilizzando l'MVC di base, sarà necessario fare riferimento al file RouteConfig nella cartella 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
2017-10-21 13:47



Stavo usando l'applicazione MVC ASP.NET 4.5 su IIS 7. La mia correzione era di impostare runallmanagedmodule su true.

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

oppure Se si hanno altri moduli, è possibile aggiungerli all'interno del tag del modulo.

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

Panoramica sui moduli IIS: il sito Microsoft IIS ufficiale


2
2018-04-21 14:58



Nel mio caso, ho avuto più progetti ma non avevo definito il progetto iniziale. Quindi questo errore stava generando. Dopo aver definito il progetto di avvio, risolto il problema.


1
2018-01-07 15:01



Se il progetto è un progetto MVC ASP.net, si tratta di routing. Nel mio caso ho modificato i valori di routing predefiniti:

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

Ho cambiato il mio codice accidentalmente in:

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

Quello che ho cambiato solo "ID" a "JobId" e percorso predefinito non può essere trovato.


1
2018-05-09 14:55