我有一个路由配置文件,我正在尝试路由遵循公式 .com/{a page}/{a subpage} 的所有 URL,以路由到特定页面 .com/Default/Page.aspx。我的问题是它对所有页面(即.com/Account/Login.aspx)执行此操作。有没有办法指定我希望它仅在用户在地址栏中键入时才路由到该页面,可能只有当他们遗漏了 .aspx 扩展名时?这就是我目前所拥有的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.Membership.OpenAuth;
using System.Web.Routing;
using Microsoft.AspNet.FriendlyUrls;
namespace CouponsForGiving
{
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.Ignore("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("LearnMore", "LearnMore", "~/LearnMore.aspx");
routes.MapPageRoute("DefaultPage", "{nponame}", "~/Default/NPOPage.aspx");
routes.MapPageRoute("CampaignPage", "{nponame}/{campaignname}", "~/Default/CampaignPage.aspx"); //This one routes a lot of other pages
routes.EnableFriendlyUrls();
}
}
}
谢谢!