HTTPエラー403.14-禁止-Webサーバーは、このディレクトリの内容をリストしないように構成されています


146

Visual Studio 2012で新しい空のWebサイトを作成し、実行(つまり、ブラウザーで表示)をクリックすると、次のエラーが発生します。

HTTPエラー403.14-禁止Webサーバーは、このディレクトリの内容を一覧表示しないように構成されています。

IISにアクセスして、ディレクトリの参照をクリックし、ディレクトリの参照が有効になっていることを確認しましたが、このエラーが発生します。分かりませんか?

先ほど作成したWebサイトプロジェクトが、IISマネージャーの既定のWebサイトに表示されていません。

このエラーを取り除くにはどうすればよいですか?


プロジェクトはIISを使用するように構成されていますか?またはIIS Express?またはカシーニ?
Kris Vandermotten 2013

あなたはなかった実行したり、ブラウザで表示しますか?2つの異なるもの。これがMVCプロジェクトである場合view、ブラウザーでを表示しようとした可能性がありますか?
christiandev 2013

コントロールパネル\すべてのコントロールパネルアイテム\プログラムと機能\ Windowsの機能をオンまたはオフ\インターネットインフォメーションサービス\ワールドワイドウェブサービス\アプリケーション開発機能\ ASP.NETからASP.NET 4.5またはASP.NETを有効にしたことを確認してくださいアプリケーションプールの設定に応じて、4.5またはASP.NET 3.5
Bimal Das 2018

回答:


142

これをWeb構成ファイルに保存してから、add value = "yourwebformname.aspx"の名前を変更します

<system.webServer>
    <defaultDocument>
       <files>
          <add value="insertion.aspx" />
       </files>
    </defaultDocument>
    <directoryBrowse enabled="false" />
</system.webServer>

そうしないと

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

1
私は何ヶ月もこのプロジェクトに取り組んできました-この行は必要ありませんでした。今日、サイトを公開しましたが、デバッグで実行できなくなりました!!! この行を追加すると、再び機能します!私はSVNをチェックしました-絶対にこれまで必要でした。WTF !? とにかくおかげで、1時間しか無駄になりませんでした:)
パーシー

HTTPエラー500.22-内部サーバーエラーが発生します。
Bryan Labuschagne 2017

40

この問題は、WebサイトでDirectory Browsing機能が有効になっておらず、デフォルトのドキュメントが構成されていないために発生します。この問題を解決するには、次のいずれかの方法を使用します。この問題を解決するために、MSサポートページとその推奨方法で説明されている方法1の手順に従いました。

方法1:IISでディレクトリ参照機能を有効にする(推奨)

  1. IISマネージャーを起動します。これを行うには、[スタート]、[ファイル名を指定して実行]の順にクリックし、inetmgr.exeと入力して、[OK]をクリックします。

  2. IISマネージャーで、サーバー名を展開し、[Webサイト]を展開して、変更するWebサイトをクリックします。

  3. [機能]ビューで、[ディレクトリの参照]をダブルクリックします。

  4. [操作]ウィンドウで、[有効にする]をクリックします。

それでも問題が解決しない場合は、ディレクトリ一覧の問題だけではない可能性があります。以下の手順に従ってください

方法2:デフォルトのドキュメントを追加する

この問題を解決するには、次の手順に従います。

  • IISマネージャーを起動します。これを行うには、[スタート]、[ファイル名を指定して実行]の順にクリックし、inetmgr.exeと入力して、[OK]をクリックします。
  • IISマネージャーで、サーバー名を展開し、[Webサイト]を展開して、変更するWebサイトをクリックします。
  • [機能]ビューで、[既定のドキュメント]をダブルクリックします。
  • [操作]ウィンドウで、[有効にする]をクリックします。
  • [ファイル名]ボックスに既定のドキュメントの名前を入力し、[OK]をクリックします。

方法3:IIS Expressのディレクトリ参照機能を有効にします

注この方法は、IIS Expressを使用するときに問題が発生するWeb開発者向けです。

次の手順を実行します:

  • コマンドプロンプトを開き、コンピューターのIIS Expressフォルダーに移動します。たとえば、コマンドプロンプトで次のフォルダーに移動します。 C:\Program Files\IIS Express

  • 次のコマンドを入力して、Enterキーを押します。

    appcmd set config /section:system.webServer/directoryBrowse /enabled:true


これは受け入れられるべき答えです。方法2がうまくいきました。最初に空のWebサイトを作成してから、 "WebForm1.aspx"という名前のWebフォームを追加しました。したがって、その名前をデフォルトのドキュメントリストに追加する必要があります。ありがとうございました。
novato

31

cmdに移動して、次のように入力します。

x64 OSの場合:%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

x32 OSの場合:%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

これは正しいバージョンをインストールし、IISはMVCディレクトリの参照を理解します


%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -irこれは、私の64ビットシステムとMVCアプリケーションで使用できました
Amar Gadekar

x64のコマンドも、私のasmx Webサービスで発生した問題を解決するのに役立ちました
Cavid

24

この問題には複数の理由が考えられます。IIS 8.5で私のために働いたものは次のとおりでした

手順

  1. 検索で「Windowsの機能を有効または無効にする」と入力します。
  2. サーバーマネージャーで[役割と機能の追加]をクリックします。
  3. ウィザードで、Webサーバーまでスクロールダウンし、次の項目を選択します。Webサーバー->アプリケーション開発 スクリーンショットに示すように、リストからCGIを除くすべてを選択します

ここに画像の説明を入力してください

  1. 最後に次を押してインストールします。
  2. IISを再起動します

ウェブサイトが機能し始める可能性があります。


18

スタートページを設定します。

この問題が発生したとき、私はソリューションエクスプローラーに行き、最初に表示したいページ(私の場合は「Home.aspx」)を見つけ、それを右クリックして「Set As Start Page」を選択しました。これにより私の問題が修正されました(これはVisual Studio 2012 Professionalのもので、Firefoxで実行しました。


17

次の設定をweb.configファイルに追加してみてください。

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

2
HTTPエラー500.22-内部サーバーエラー
Bryan Labuschagne

このコードをwebconfigファイルに追加した後、問題は解決しました。ありがとうございます。
yadavr 2018年

17

このコードスニペットをweb.configファイルに貼り付けたところ、エラーは解決しました。

<system.webServer>
    <directoryBrowse enabled="true" />
</system.webServer>

10

これに対する簡単な解決策が1つあります。実際に、自分のWebページを開始ページとして設定していなかったため、このエラーが発生しました。以下のように開始ページとしてWebページ(html / aspx)を実行すると、このエラーが修正されました。ここに画像の説明を入力してください

このソリューションが他の人に役立つかどうかはわかりません。


8

空のWebサイトテンプレートは、Web.configファイルを含むが他のファイルを含まないASP.NET Webサイトを作成します。参照または実行時に表示するデフォルトのページがないことを意味します。

このエラーメッセージは、IISでデフォルトのドキュメントを正しく設定および構成しなかったことを意味します。

これが設定されると、エラーメッセージは表示されなくなります。


空のWebサイトにマスターページを追加しましたが、コードなしで[実行]をクリックしても、エラーが発生しました。実行するために何をする必要があるのか​​わかりません。
Aindriu 2013

その後、作成し、デフォルトのページを設定していない場合は、このリンクに示すように、あなたのウェブサイトのデフォルトのページを持っているiis.net/learn/web-hosting/web-server-for-shared-hosting/...
SAINプラディープ

いいえ、空のWebサイトにはデフォルトのページがありませんでした。C#ブックの例に従っています。デフォルトのページを追加したところ、そのページはWebブラウザーに読み込まれました。しかし、例ではマスターページのみを使用していました。なぜ動かないのか分かりません。その非常に単純な例です。
Aindriu 2013

8

IISのサイト:

  1. 「詳細設定」を選択します
  2. 次に、アプリケーションプールに「ASP.NET v4.0」を選択します

画像など


2
これはOPの質問には答えません。IISのサイトで使用されるアプリケーションプールを変更しても、サイトがディレクトリコンテンツを一覧表示する(または一覧表示しない)ように構成されている方法には影響しません。代わりに、web.configファイルの構成を使用する必要があります。
JNYRanger、2015年

8

コントロールパネル> Windowsの機能をオンまたはオフにする

インターネットインフォメーションサービス> World Wide Webサービス>アプリケーション開発機能

2つのオプションを有効にする

.NET拡張性3.5
.ASP.NET 3.5

ここに画像の説明を入力してください



5

私の場合、空のWeb APIプロジェクトを作成した後も同じエラーが発生しました。

App_StartフォルダーのRouteConfig.csを編集して解決しました:)

コード読み取りの行を置き換えました:-

defaults: new { action = "Index", id = UrlParameter.Optional }

次のように:-

defaults: new { controller = "Index", action = "Index", id = UrlParameter.Optional }

インデックスアクションを最初に呼び出したいコントローラーを指定しなければならないことに注意してください。

さて、上記のすべての応答は私のケースを解決しませんでした(私が望んだように)例えば

  • web.configからディレクトリを参照できるようにすると、インデックスファイルがない場合のphpと同じように、プロジェクト内のすべてのファイルとフォルダーが一覧表示されます。
  • defaultDocumentの設定も機能しませんでしたが、どういうわけかまだHTTPエラー403.14が発生しました(それでも理由がわかりません)

私と同じような状況で誰かがいる場合は、これを試してみてください。


これが私が必要とした答えのほとんどでした。ただし、コントローラー名はMVCアプリケーション用に作成されたものと一致する必要があります。ディレクトリブラウジングを使用することは、だれでもサイトのコンテンツ全体をナビゲートできるため、私の意見では良い考えではありません。
マークW.ミッチェル


4

私の場合、webappが.NET v4であり、アプリケーションプールが.NET v2用に構成されていたため、このエラーが発生しました。

アプリケーションプールをダブルクリックすると、ポップアップウィンドウが表示され、目的のバージョンの.NET Frameworkを選択できます。


4

解決しよう
検索"Windows Feature"開始に- >
をクリックします"turn features on and off"- >
を展開"Internet Information Services"し、
すべてのサブフォルダ内のすべてのprogrmを確認し、
「OK」をクリックしてください
。これは、すべてのあなたの問題を修正します。 ここに画像の説明を入力してください


3

私はこの手順を休むことで私の問題を解決しました=>

  1. IISマネージャーを開く
  2. アプリケーションをクリックします
  3. [ディレクトリの参照]をクリックします
  4. [機能を開く]をクリックします(右側の[アクション]に表示されます)
  5. [有効にする]をクリックします

2

これは、bum applicationhost.configエントリが原因である可能性があります。

IIS Expressが実行されている場合は停止します(Windowsシステムトレイの水色のスクロールアイコンを右クリックし、終了します)。

プロジェクトの[プロパティ]> [ウェブ]に移動し、プロジェクトのURLが正しいことを確認します。https URLの場合は、有効な範囲のポート番号が含まれていることを確認してください。正しいURLは次のとおりです。https://localhost:44300/です。次に、URLの横にある「仮想ディレクトリの作成」ボタンを押します。これにより、applicationhost.configに新しいエントリが追加されます。

プロジェクトを再度開始すると、エラーが発生しないことを願っています。


2

おそらく何年も経たないうちに、おそらくすでに答えがあるでしょう。しかし、将来誰かが答えを探している場合に備えて。

私の問題では、web.configに何もする必要はありませんでした。以前は機能していたので、必要もないと思いました。

あなたのページと同じ名前のフォルダーがないことを確認してください。「blog」という名前のフォルダーと「blog.aspx」という名前のページがあり、フォルダーをロードしようとしていました。これがリンクにあることに気付き、フォルダーをblogContentに変更しました、正常にロードされます。

あなたは検索クエリの最初なので、ここにコピーを投稿します。


2

問題は、IISのVisual Studioでプロジェクトを実行しているときにVisual Studioで誤って開いたタブを開いているために発生する可能性があるため、解決策は正しいタブ(ブラウザーでテストするWebフォーム)を開くか、他の答えは、ホームページとして設定したいウェブフォームを右クリックして、「スタートページとして設定」をクリックします。


1

私の場合、Microsoft.Owin.Host.SystemWebナゲットがありませんでした。


1

ソリューションエクスプローラーでプロジェクトを右クリックし、[新しい項目の追加]をクリックして、HTMLページを追加し、index.HTMLという名前を付けて、すべてのアプリケーションを再実行します。


1

私の場合

アプリケーションプールで、.NetFrameWorkのバージョンをV4.0に設定し、問題を解決しました....


1

次の図に示すように、IISのアプリケーション開発の部分をサーバーにインストールする必要があります。ここに画像の説明を入力してください


0

これは、さまざまな理由で発生する可能性があります。上記のすべてを試しても同じエラーが発生する場合は、もう1つの解決策があります。

これが発生するもう1つの理由は、

  1. 新しいソリューションの実行を開始する前に同じコードベースを実行している場合、このエラーが発生する可能性があります。その理由は、IIS Expressが、アプリケーションの開始URLに物理パスが登録されている古いソリューションの場合と同じポートで実行しようとしているためです。
  2. IISはソリューションを実行するための物理パスを把握できないため、アプリケーションの起動に必要なすべてのdllを見つけることができない場合があります。

ソリューション:

  1. アプリケーションポートをデフォルトに変更してみてください。たとえば、http://localhost/代わりにhttp://localhost:25836/

  2. 以前のアプリケーションでデフォルトのポートをすでに使用している場合は、他のポートに変更してみてください。例:のhttp://localhost:25364/代わりにhttp://localhost/

これにより、IIS / IIS Expressは、実行しようとしている新しいアプリケーションのデフォルトのbinパスを指すことができ、アプリケーションを起動するために必要なすべてのdllが含まれます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.