web-dev-qa-db-fra.com

Un document par défaut n'est pas configuré pour l'URL demandée et la navigation dans les répertoires n'est pas activée sur le serveur.

Je viens de déployer mon site Web asp.net mvc-2 sur un serveur (à l'aide de dotnetpanel). Mais avoir cette erreur

A default document is not configured for the requested URL, and directory browsing is not enabled on the server.

De quels réglages ai-je besoin? Son serveur d'hébergement basé sur dotnetpanel.

40
coure2011

Quelle version de IIS votre hôte est-il en cours d'exécution? Une chose à essayer est de mettre un fichier default.aspx factice dans le dossier racine (cela ne sera pas utilisé lorsque MVC fonctionne, mais peut vous débarrasser de ce problème).

28
UpTheCreek

La réponse marquée vous aidera à éliminer l'erreur mais cela ne fonctionnera pas avec MVC. La réponse au problème consiste à ajouter cette ligne au fichier web.config de system.webServer:

<modules runAllManagedModulesForAllRequests="true" />
35
Rob King

Ce qui suit s’applique à IIS 7

L'erreur est d'essayer de vous dire que l'une des deux choses ne fonctionne pas correctement:

  • Il n'y a pas de page par défaut (par exemple, index.html, defaul.aspx) pour votresite. Cela pourrait signifier que la "fonctionnalité" par défaut du document est Entièrement désactivée ou simplement mal configurée.
  • La navigation dans les répertoires n'est pas activée. Autrement dit, si vous ne fournissez pas de page par défaut pour votresite, vous avez peut-être l'intention de laisser les utilisateurs naviguer dans le contenu du répertoire De votre site via http (comme un "explorateur Windows" distant).

Voir le lien suivant pour savoir comment diagnostiquer et résoudre les problèmes ci-dessus.

http://support.Microsoft.com/kb/942062/en-us

Si aucun de ces problèmes ne pose problème, vous devez également vérifier que le pool d'applications configuré pour votre site Web (sous IIS Manager, sélectionnez votre site Web, puis cliquez sur "Paramètres de base" à l'extrême droite). configuré avec la même version du framework .Net (dans IIS Manager, sous "Pools d'applications") que le targetFramework configuré dans votre web.config, par exemple:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime targetFramework="4.0" />
  </system.web>

Je ne suis pas sûr de savoir pourquoi cela générerait un message d'erreur apparemment sans rapport, mais cela l'a été pour moi.

17
Hawkeye Parker

Cela peut également se produire si vous faites quelque chose de stupide (comme je l'ai fait) et placez l'URL de l'API dans "URL du projet" (par exemple, http: // localhost: 59088/api/Product ) dans les propriétés du projet-> Web onglet au lieu de le spécifier dans la zone de texte "Page spécifique". Cela force Visual Studio à créer une application nommée ProjectName/api/Product, ce qui nécessitera une page par défaut. La seule façon de l'annuler consiste à accéder à C:\Program Files (x86)\IIS Express et à utiliser appcmd.exe pour le supprimer comme suit.

>.\appcmd.exe delete APP "ProjectName/api/Product"
1
Scott Baldwin

Avez-vous ajouté une route par défaut à cette classe? 

public class RouteConfig {
    public static void RegisterRoutes (RouteCollection routes) {`
        //"HomePage" is the root view of your app
        routes.MapRoute (
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new {
                controller = "Home", action = "HomePage", id = UrlParameter.Optional
            }
        );
    }
}

` Après cela, dans Global.asax.cs, ajoutez cette ligne à la méthode Application_Start ():

RouteConfig.RegisterRoutes (RouteTable.Routes);

J'ai eu ce problème après avoir mis à jour MVC4 vers MVC5 après this post et cette ligne a été commentée pour une raison que j'ai oubliée.

J'espère que cela t'aides!

1
bogdan.rusu

Assurez-vous que votre page par défaut est nommée index.aspx et pas quelque chose comme main.aspx ou home.aspx . Et veillez également à ce que toutes vos propriétés de votre classe correspondent exactement à celles de votre table dans la base de données . Supprimez toutes les propriétés qui ne sont pas synchronisées avec la base de données. Cela a résolu mon problème !! :)

0
Ozesh

Dans mon cas, j'ai dû installer le package Microsoft.Owin.Host.SystemWeb.

Je recevais le même message que vous, mais j'ai alors remarqué que je ne pouvais même pas atteindre un point d'arrêt dans Startup.cs, ce qui me permettait ensuite de ce fil SO .

0
pootzko

Le coupable pourrait résider dans le fait que Global.asax a été placé dans le mauvais répertoire du projet mvc. Dans mon cas, il a été placé sous/Vues mais je devais le déplacer. Il aurait dû être placé sous le dossier racine du projet.

Dans votre cas, vous pourriez être exactement le contraire: effectuez des tests et voyez par vous-même.

https://stackoverflow.com/a/41467885/863651

0
XDS