it-swarm.com.de

Für die angeforderte URL ist kein Standarddokument konfiguriert, und das Durchsuchen von Verzeichnissen ist auf dem Server nicht aktiviert

Ich habe gerade meine asp.net mvc-2-Website auf einem Server bereitgestellt (mit Dotnetpanel). Aber diesen Fehler bekommen

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

Welche Einstellungen brauche ich? Sein Dotnetpanel-basierter Hosting-Server.

40
coure2011

Welche Version von IIS läuft auf Ihrem Host? Versuchen Sie es mit einer Dummy-Datei default.aspx im Stammverzeichnis (dies wird nicht verwendet, wenn MVC funktioniert, kann aber dieses Problem beseitigen).

28
UpTheCreek

Die markierte Antwort hilft Ihnen, den Fehler zu beheben, aber MVC wird nicht funktionieren. Die Antwort auf das Problem besteht darin, diese Zeile zur Datei web.config in system.webServer hinzuzufügen:

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

Das Folgende gilt für IIS 7

Der Fehler versucht, Ihnen mitzuteilen, dass eines der beiden Probleme nicht richtig funktioniert:

  • Für Ihre Site gibt es keine Standardseite (z. B. index.html, defaul.aspx). Dies kann bedeuten, dass die "Standarddokumentfunktion" vollständig deaktiviert oder nur falsch konfiguriert ist.
  • Das Durchsuchen von Verzeichnissen ist nicht aktiviert. Das heißt, wenn Sie keine Standardseite für Ihre Site bereitstellen, möchten Sie den Benutzern möglicherweise ermöglichen, über http durch den Verzeichnisinhalt Ihrer Site zu navigieren (wie bei einem Remote- "Windows-Explorer").

Anweisungen zum Diagnostizieren und Beheben der oben genannten Probleme finden Sie unter dem folgenden Link.

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

Wenn keines dieser Probleme das Problem ist, müssen Sie auch überprüfen, ob der Anwendungspool für Ihre Website konfiguriert ist (wählen Sie Ihre Website unter IIS Manager aus und klicken Sie ganz rechts auf "Grundeinstellungen" ) wird mit derselben .NET Framework-Version (in IIS Manager unter "Application Pools") wie das in Ihrer web.config konfigurierte targetFramework konfiguriert, z.

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

Ich bin mir nicht sicher, warum dies zu einer scheinbar unabhängigen Fehlermeldung führen würde, aber es hat mir geholfen.

17
Hawkeye Parker

Beim Versuch, meine ASP.NET-Website mit dem Express-Server IIS zu debuggen, der von Visual Studio verwendet wird, wenn wir auf drücken, ist genau derselbe Fehler aufgetreten F5 um die Website zu betreiben.

Öffnen Sie den Projektmappen-Explorer in Visual Studio -> Erweitern Sie den Projektknoten der Webanwendung (StudentInfo in meinem Fall) -> Klicken Sie mit der rechten Maustaste auf die Webseite (StudentPortal.aspx In meinem Fall), die geladen werden soll Wenn meine Website gestartet wird -> Wählen Sie im Kontextmenü die Option Set as Start Page (siehe unten). Ab dem nächsten Lauf fing es an zu funktionieren.

enter image description here

Grundursache : Ich bin zu dem Schluss gekommen, dass die Startseite, die im Wesentlichen das Standarddokument für die Website ist, während der Entwicklung nicht korrekt eingerichtet oder irgendwie durcheinander gebracht wurde.

6
RBT

Dies kann auch vorkommen, wenn Sie etwas Dummes tun (wie ich es getan habe) und die API-URL in der "Projekt-URL" (z. B. http: // localhost: 59088/api/Product ) in den Projekteigenschaften-> Web einfügen Registerkarte, anstatt sie im Textfeld "Bestimmte Seite" anzugeben. Dies führt dazu, dass Visual Studio eine APP mit dem Namen ProjectName/api/Product erstellt und eine Standardseite erwartet. Die einzige Möglichkeit, dies rückgängig zu machen, besteht darin, zu C:\Programme (x86)\IIS Express zu gehen und die Datei appcmd.exe zu verwenden

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

Haben Sie dieser Klasse eine Standardroute hinzugefügt? 

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
            }
        );
    }
}

` Fügen Sie anschließend in Global.asax.cs diese Zeile zur Application_Start () - Methode hinzu:

RouteConfig.RegisterRoutes (RouteTable.Routes);

Ich hatte dieses Problem, nachdem ich ein Upgrade von MVC4 auf MVC5 nach folgendem this post vorgenommen hatte, und ich hatte diese Zeile aus einem Grund kommentiert, den ich vergessen habe.

Hoffe das hilft!

1
bogdan.rusu

Vergewissern Sie sich, dass Sie Ihre Standardseite als index.aspx und nicht etwas wie main.aspx oder home.aspx . Und sorgen Sie auch dafür, dass alle Ihre Eigenschaften in Ihrer Klasse genau mit denen Ihrer Tabelle in der Datenbank übereinstimmen . Entfernen Sie alle Eigenschaften, die nicht mit der Datenbank synchron sind. Das hat mein Problem gelöst !! :)

0
Ozesh

In meinem Fall musste ich das Microsoft.Owin.Host.SystemWeb-Paket installieren.

Ich erhielt die gleiche Nachricht wie Sie, bemerkte dann jedoch, dass ich in Startup.cs keinen Haltepunkt finden konnte, der mich dann zum this SO Thread brachte.

0
pootzko

Der Täter könnte in der Tatsache liegen, dass Global.asax im falschen Verzeichnis innerhalb des mvc-Projekts platziert wurde. In meinem Fall wurde es unter/Views platziert, aber ich musste es verschieben. Es sollte sich unter dem Stammordner des Projekts befinden.

In Ihrem Fall könnten Sie genau das Gegenteil sein - führen Sie einige Tests durch und überzeugen Sie sich selbst.

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

0
XDS