ASP.Net プロジェクトをより適切に整理するために、すべての .aspx ファイルを WebPages というフォルダーに配置しました。
すべての URL から「WebPages」フォルダを除外する方法を見つけたいと考えています。たとえば、次の URL は使用したくありません。
http://localhost:7896/WebPages/index.aspx
http://localhost:7896/WebPages/Admin/security.aspx
しかし、代わりに、すべての URL を次のようにしたいと考えています (「WebPages」は、作業を構造化するために使用する物理フォルダーですが、外部からは見えないようにする必要があります)。
http://localhost:7896/index.aspx
http://localhost:7896/admin/security.aspx
プロジェクトにある「すべてのページに対して」ルーティングエントリを指定することで、独自の解決策を思いつくことができました(そしてそれは機能します)が、それは単に今後維持することができず、別の方法が必要です。
public class Global : HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("", "index.aspx", "~/WebPages/index.aspx");
routes.MapPageRoute("", "admin/security.aspx", "~/WebPages/Admin/security.aspx");
}
}
おそらく、私が望んでいるのは、すべてのリクエストをキャッチし、単に「WebPages」物理ディレクトリを追加するクラスですか?