2012-03-18 9 views
1

URL /領域(つまりhttp://example.com/areas)を処理するためにASP.MVCを取得しようとしています。コンベンションではエリアと呼ばれるフォルダがありますので、エリアは私のコントローラに決して行きません。URL /区域を持つASP.NET MVCページを提供する正しい方法は何ですか?

この場合、このフォルダを無視するようにMVCに指示することができます。

通常、既存のフォルダと競合する名前は使用しませんが、WebアプリケーションをDjangoからASP.NET MVCに移行し、/ areasの下にページのセクションがあります。私は、フレームワークのためだけに、既存のURLをすべて変更する必要はありません。

パフォーマンス上の理由から、MVCパイプラインを経由するようにすべての要求を構成しないことをお勧めします。

その他の解決策はありますか?

答えて

1

IIS URL書き換えモジュールを使用して、特定のフォルダーに要求をリダイレクトし、MVCパイプラインを完全に回避することができます。

次の例では、静的リソースを指すようにパスを書き換える方法を示しhttp://learn.iis.net/page.aspx/496/iis-url-rewriting-and-aspnet-routing/からである(見出しの下に「静的コンテンツ管理。」)あなたはIgnoreRouteを使用することができれば、私は好奇心が強い

<rewrite> 
    <rules> 
     <rule name="Rewrite to new folder"> 
      <match url="^Images/(.+)$" /> 
      <action type="Rewrite" url="NewImages/{R:1}" /> 
     </rule> 
    </rules> 
</rewrite> 
0

MVCは、問題は、私だけのドン、私はルートなどの分野を扱いたいということです

routes.IgnoreRoute("areas/{*pathInfo}"); 
+0

そのフォルダに何のためにMVCのプロセッサを使用して、完全にそれを無視しないように原因となるあなたのglobal.asax.csファイルで存在するフォルダがあるため、IISにMVCが適用されないようにします。 –

関連する問題