特定のディレクトリでのURLルーティングを停止すると、サブディレクトリを含むものが含まれています。

StackOverflow https://stackoverflow.com//questions/12699923

質問

私は私のアプリケーションのためのURLルーティングを使用していて、スタッフから始めてURLルーティングが起こるのを防ぎたいが、それが機能しない次のコードを使用して、URLルーティングを触れないようにする方法スタッフのDIRとそれはサブディールですか?

    private static void RegisterRoutes(RouteCollection Routes)
{
    //URLs to ignore routeing on
    RouteTable.Routes.Ignore("staff/");

    //Good routes
    Routes.MapPageRoute("Reviews", "{Category}/{RouteName}/Reviews.aspx", "~/RouteFiles/Reviews.aspx");
    Routes.MapPageRoute("Races", "{Category}/{RouteName}/Races.aspx", "~/RouteFiles/Races.aspx");
    Routes.MapPageRoute("SectionHomePage", "{Category}/{RouteName}", "~/RouteFiles/SectionHomePage.aspx");
}
.

役に立ちましたか?

解決 2

解決策はRouteTable.Routes.Ignore()エントリを作成することです。

他のヒント

MVCではなくMVCを使用している場合は、 StopRoutingHandler

routes.Add(new Route("staff/", new StopRoutingHandler()));
.

Routes.Ignoreを使用すると、MVCで機能することがあります(それについてはわかりません)が、Webformsアプリケーションでは機能しません。

このパスのデフォルトハンドラとしてStopRoutingHandlerを割り当てることで、基本的にすべての要求をこのハンドラで処理する必要があることをアプリケーションに伝えます。このディレクトリ内で次のすべての試行をブロックします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top