2017-03-13 5 views
0

私は一般的なWebアプリケーションを稼働しており、http://sites.acme.comを実行しています。 サブサイトhttp://sites.acme.com/subsite1を追加します。追加することにより、我々は単に、そのフォルダSites/SubSite1のサブフォルダにVSからプロジェクトを公開します(SubSite1)の新しいサブサイトを追加し、Sitesのweb.configファイルを編集するために過去に MVCアプリケーションをサブサイトとして追加する

<location path="SubSite1">  
<system.webServer> 
    <defaultDocument enabled="true"> 
    <files> 
     <clear/> 
     <add value="index.aspx"/> 
    </files> 
    </defaultDocument> 
</system.webServer> 
</location> 

これで、aspxページを持たないmvc Webサイトを公開しようとしましたが、ホームコントローラを起動するためにSubSite1.dllにヒットする必要があることをIISに認識させる方法を理解しようとしています。 index.cshtmlを返します。

サイトのウェブ設定で任意の設定を編集する必要はありますか?

答えて

1

通常、MVCアプリケーションの場合、デフォルトのドキュメントは設定されません。私たちはルートを登録するときに、デフォルトのコントローラとデフォルトのアクションを設定します。例えば、ルート登録に続いて、デフォルトコントローラを「ホーム」コントローラとして、デフォルト動作を「インデックス」として設定する。

routes.MapRoute(
     "Default",    // Route name 
     "{controller}/{action}", // URL with parameters 
     new { controller = "Home", action = "Index" } // Parameter defaults 
     ); 

だから、それは「ホーム」コントローラの「インデックス」アクションを連想させるユーザーの種類http://mysite/。ユーザーの入力と同じくらい良いですhttp://mysite/Home/Index

シナリオを設定するために、問題のようにデフォルトの文書構成を追加する必要はありません。 「サイト」アプリケーションの下にあるIISで「サブサイト1」を「アプリケーション」として構成するだけで、サブサイト1のルートを適切に設定することができれば良いです。

+0

私のサブサイトが "SubSite1"という名前のフォルダーにあり、デフォルトのhome/indexを持っている場合、私のインデックスビュー「http:// sites.acme.com/subsite1」にURLが必要ですか? –

+0

@ Steve'Kepano'Eggering:はい。 http://sites.acme.com/subsite1では、サブサイト1アプリケーションのデフォルトビューが表示されます。 IISでsubsite1を「アプリケーション」として構成することを忘れないでください。 –

+0

アプリケーションとして構成されており、一般的なサイトのweb.configファイルは次のようになります。 '<場所のパス= "subsite1"> <承認> \t \t <許可ユーザー= "*"/> 'しかし、私はまだ500エラーが発生しています。 IISも再起動します。 –

関連する問題