web-dev-qa-db-ja.com

HTTPエラー403.14-禁止Webサーバーはコンテンツをリストしないように構成されています

MVC Music Store ASP.NETアプリケーションをC:\ Users\DEVESH\Desktop\Projects\MvcMusicStore-v3.0\MvcMusicStore-Completed\MvcMusicStoreにダウンロードし、IISにWebサイトを追加しましたロケーション。 IIS_IUSRSへのアクセス許可も与えましたが、localhostを実行するとエラーが発生します。

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

Googleで検索しましたが、修正プログラムは見つかりませんでした。私が間違っているのは何ですか?

36
F11

Webサイトのアプリケーションプールで間違った.NETバージョン(v4.0ではなくv2.0)が構成されていたため、このエラーが発生しました。 Windows Server 2008 R2およびIIS 7でこのように修正しました。WindowsServer 2012およびIIS 8にも手順が適用されると確信しています。

  • キーWindows + Rを押して[実行]ダイアログを開き、inetmgrと入力して[OK]をクリックします。これにより、IIS Managerが開きます。
  • 左側のツリービューで、Sitesノードを見つけ、その下にDefault Web Siteノード(またはエラーメッセージが表示されるサイトの名前)を見つけます。
  • ノードを右クリックし、Webサイトの管理->詳細設定...を選択します。値の名前に注意してくださいアプリケーションプール。このダイアログを閉じます。
  • 左側のツリービューで、ノードを見つけて選択しますアプリケーションプール
  • 右側のリストで、Webサイトの設定でメモした名前と同じ名前のアプリケーションプールを見つけます。それを右クリックして、詳細設定...を選択します
  • 。NET Frameworkバージョン値がv4.であることを確認してください。 OKをクリックします。

もちろん、実際に.NET v2.0が必要な古いサイトを実行している場合は適用されません:)

45
Daniel Persson

私の場合、ASP.NETはサーバーに登録されていません。コマンドプロンプトでこれを実行してみてください:

Windows 32ビット

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

Windows 64ビット

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

誰かが解決策を探してここに到達した場合に備えて、ここに私がそれを解決した方法があります。誤ってサーバー(binディレクトリ)からすべてのファイルを削除しましたが、すべてのファイルをコピーしたときにApp_global.asax.dllおよびApp_global.asax.compiledファイルが見つかりませんでした。これらのファイルが欠落していたため、IISからこのエラーが発生していました。

403 - Forbidden: Access is denied.

これらのファイルを追加するとすぐに、問題なく動作し始めました。

12
ATHER

Global.asaxファイル配置のエラーを修正して、この問題を解決しました。別のプロジェクトからファイルをコピーして、Global.asax.csをGlobal.asaxファイルに埋め込むことができませんでした(両方のファイルが以前に同じレベルで存在していました)。

Global.asax arrangement

8
Luke Zaparaniuk

私は2つの理由で以前同様の自分に遭遇しました。 1. MVCがインストールされていません。 2. URLルーティングモジュールが登録されていない(これは職場のマシンによって異なりますが、理由は完全には説明できません-システムレベルで常に登録されるとは限りません)、アプリケーション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>

編集:iis 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

IIS 7でASP.NET 4.5 MVCアプリケーションを使用していました。私の修正は、runallmanagedmoduleをtrueに設定することでした。

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

または、他のモジュールがある場合は、モジュールタグ内に追加することができます。

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

IISモジュールの概要:公式Microsoft IISサイト

4
Priyank Agarwal

このエラーは、IIS ManagerでASP.NET MVCサイトが間違ったディレクトリをポイントしている場合に発生する可能性があります。

私の場合、サイトが誤って子プロジェクトディレクトリではなくソリューションディレクトリを指していました。つまり、サイトのPhysical pathを次のように設定しました

C:\dev\MySolution

の代わりに

C:\dev\MySolution\MyProject

これを修正する特定の手順:

  1. IIS Managerを開きます([スタート]> [実行]> [inetmgr])。
  2. IIS Managerの左ペインで、[サイト]を展開します。
  3. [サイト]で、ASP.NET MVC Webサイトを左クリックします。
  4. 右側のペインで、「基本設定...」をクリックします。
  5. [サイトの編集]ダイアログで、Physical pathをプロジェクトディレクトリに変更します。
  6. OKをクリックします。
3
Jon Schneider

私はちょうど同じ問題を抱えていましたが、私の修正は、ルーティングがGlobal.asax.csファイルで構成されていなかったことです。私はBootstrapperとCastle Windsorを使用しているため、この問題を解決するために、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();
        }
    }

もちろん、基本的なMVCを使用している場合は、代わりにAppStartフォルダーのRouteConfigファイルを参照する必要があります。

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
John

私の場合、複数のプロジェクトがありましたが、開始プロジェクトを定義していませんでした。そのため、このエラーが生成されていました。 startUpプロジェクトを定義した後、問題は解決しました。

2
rns

このエラーは、アプリケーションが起動できないときに発生します。
したがって、原因は、アプリケーションの起動を妨げるものである可能性があります。

  • 間違った接続文字列
  • 間違ったIISディレクトリ権限
  • Application_Start()関数でスローされた例外
  • IOCコンテナ初期化エラー
  • IIS ASP.NET登録エラー
  • BinフォルダーにDLLがありません
  • 等...
2

Visual Studioで空のASP.Netアプリケーションを作成した後、このエラーが発生しました。ファイルindex.htmlをメインソリューションに追加するとすぐに機能しました。そのため、私の場合は、プロジェクトフォルダーのルートにファイルを追加する必要がありました。

1
live-love

プロジェクトがASP.net MVCプロジェクトの場合、ルーティングに関するものになります。私の場合、デフォルトのルーティング値を変更しました:

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

誤ってコードを次のように変更しました:

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

つまり、「id」を「JobId」に変更しただけで、デフォルトルートが見つかりません。

1
Ahmet Arslan

私の場合:1. IIS Managerで、左側のツリーでコンピューター名を左クリックし、右側のダイアログでISAPIおよびCGT制限をクリックし、開いたダイアログでASP.NET v4.0.30319を選択し、有効を選択します。 32ビット用と64ビット用の2つのASP.Net v4.0があります。 OSビットに応じて選択します。 2.左側のツリーでアプリプールを選択し、右側のダイアログでWebサイトが使用したアプリプールを選択します。そのプールをダブルクリックし、開いているダイアログで、.net framke項目.net framework v.4.0.30319を選択します。そして、pipe..item select integate。私のOSは英語版ではないため、上記の翻訳が間違っている可能性があります。

0
Penny

私の同僚は RL Rewrite rule を作成しました。これにより、すべてのURLがStaticFileHandlerになりました。アプリケーションの物理フォルダーのルートにあるファイルパスにマップされます。

(つまり、過度に攻撃的なURL書き換えは、コントローラー/アクションが機能していなかったことを意味します)

アプリケーションのURL書き換えルールをチェックして、期待どおりに動作することを確認します。

0
The Red Pea

MVC以外のプロジェクトでこれに遭遇した場合:

私のプロジェクトはWCFプロジェクトで、.svcファイルで実行されます。デフォルトのドキュメントはありません。その結果、myhost.com/で403.14エラーが発生しましたが、web.configファイルからbaseAddressパスを追加するとすぐに(例:myhost.com/mybaseaddresspath.svc私はWebページを取得しました。

0
codeMonkey

これもチェックしてください:

この問題は、Webサイトでディレクトリブラウジング機能が有効になっておらず、デフォルトのドキュメントが構成されていないために発生します。この問題を解決するには、次のいずれかの方法を使用します。

  • 方法1:IISでディレクトリブラウジング機能を有効にする(推奨)
  • 方法2:デフォルトのドキュメントメソッドを追加する
  • 方法3:IIS Expressでディレクトリブラウジング機能を有効にする

リンク: https://support.Microsoft.com/en-us/kb/942062

IUSR permissions inetpub/wwwrootの下にない場合にフォルダーで使用することは、一部のソリューションです。

0
Tom Stickel

私の場合、index.aspxファイルはデフォルトでは作成されず、別のWebフォームを追加した後、フォームを開始ページとして設定しませんでした...ページを開始ページとして設定した後、問題が解決します。 Webフォームを右クリックして、フォームを開始ページとして設定します:)

0
AtiKa Bhatti

私の場合、XMLドキュメント(XmlDocument.xml)でApp_Dataフォルダーを展開するには、公開プロファイルで「App_Dataフォルダーからファイルを除外する」を無効にする必要がありました。 403.14は削除されました。

0
Sujay Paranjape