web-dev-qa-db-ja.com

要求されたURLに対してデフォルトのドキュメントが構成されておらず、サーバーでディレクトリの参照が有効になっていない

Asp.net mvc-2 Webサイトをサーバーに展開しました(dotnetpanelを使用)。しかし、このエラーが発生する

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

必要な設定は何ですか?そのdotnetpanelベースのホスティングサーバー。

42
coure2011

ホストが実行されているIISのバージョンは?ルートフォルダにダミーのdefault.aspxファイルを配置することです(MVCの動作中は使用されませんが、削除できます)この問題の)。

31
UpTheCreek

マークされた答えはエラーを排除するのに役立ちますが、MVCが機能しなくなります。この問題に対する答えは、system.webServerのweb.configファイルに次の行を追加することです。

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

以下はIIS 7に適用されます

このエラーは、次の2つのいずれかが正しく機能していないことを通知しようとしています。

  • サイトにはデフォルトのページ(index.html、default.aspxなど)はありません。これは、デフォルトドキュメントの「機能」が完全に無効になっているか、設定が間違っていることを意味します。
  • ディレクトリの参照は有効になっていません。つまり、サイトのデフォルトページを提供していない場合は、ユーザーがサイトのディレクトリコンテンツをhttp(リモートの「Windows Explorer」など)を介してナビゲートできるようにするつもりです。

上記の問題を診断および修正する方法については、次のリンクを参照してください。

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

これらの問題のどちらも問題でない場合、チェックするもう1つのことは、Webサイト用に構成されたアプリケーションプールを確認することです(IIS Managerで、Webサイトを選択し、右端)は、web.configで設定されたtargetFrameworkと同じ.Netフレームワークバージョン(IIS Manager、「アプリケーションプール」の下))で設定されます。例:

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

どうしてこれがこのような一見無関係なエラーメッセージを生成するのかはわかりませんが、私にとってはそうでした。

17
Hawkeye Parker

IISを押したときにVisual Studioで使用されるExpressサーバーを使用してASP.NET Webサイトをデバッグしようとしたときに、まったく同じエラーに直面しました。 F5 ウェブサイトを実行します。

Visual Studioでソリューションエクスプローラーを開きます-> Webアプリケーションプロジェクトノードを展開します(私の場合はStudentInfo)-> Webページ(この場合はStudentPortal.aspx)を右クリックします。私のウェブサイトが起動します->以下に示すように、コンテキストメニューからSet as Start Pageオプションを選択します。次の実行から動作し始めました。

enter image description here

根本原因:基本的にウェブサイトのデフォルトのドキュメントである開始ページが正しく設定されていないか、開発中に何らかの形で台無しになったと結論付けました。

6
RBT

これは、(私がやったように)バカなことをして、プロジェクトプロパティの「プロジェクトURL」にAPI URL(たとえば http:// localhost:59088/api/Product )を配置した場合にも発生します。 -> [特定のページ]テキストボックスで指定する代わりに[Web]タブ。これにより、Visual Studioは先に進み、ProjectName/api/Productという名前のAPPを作成します。これにより、デフォルトページが期待されます。これを元に戻す唯一の方法は、C:\ Program Files(x86)\ IIS Expressに移動し、appcmd.exeを使用して削除することです

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

このクラスにデフォルトルートを追加しましたか?

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

`その後、Global.asax.csでこの行をApplication_Start()メソッドに追加します。

RouteConfig.RegisterRoutes (RouteTable.Routes);

this postに続いてMVC4からMVC5にアップグレードした後にこの問題が発生し、その行にコメントしていましたが、忘れていた理由があります。

お役に立てれば!

1
bogdan.rusu

index.aspxという名前のデフォルトページがあり、main.aspxhome.aspxのようなものではないことを確認してください。また、クラスのすべてのプロパティがデータベースのテーブルのプロパティと完全に一致するであることも確認してください。データベースと同期していないプロパティを削除します。これで問題が解決しました!! :)

0
Ozesh

私の場合、Microsoft.Owin.Host.SystemWebパッケージをインストールする必要がありました。

私はあなたと同じメッセージを受け取っていましたが、Startup.csのブレークポイントに到達できず、 thisSOthread

0
pootzko

犯人は、Global.asaxがmvcプロジェクト内の間違ったディレクトリに配置されているという事実にある可能性があります。私の場合、/ Viewsの下に配置されましたが、プロジェクトのルートフォルダーの下に配置する必要がありました。

あなたの場合、あなたは正反対かもしれません-いくつかのテストを実行して、自分で見てください。

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

0
XDS