我有一个网站(ASP.NET WebForms),可在该网站上从数据库构建路由表。另外,我启用了friendlyUrl
。
在Application_Start
的{{1}}中,我有以下代码:
Global.asax
RouteTable将如下所示:
RouteTable.Routes.Clear();
foreach (var page in pages)
{
Route siteRoute = new Route(page.RouteName,
new CustomRouteHandler("~/" + page.Handler));
RouteTable.Routes.Add(siteRoute);
}
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
RouteTable.Routes.EnableFriendlyUrls(settings);
/default => /default.aspx
/blog => /blog.aspx
/about => /about.aspx
我遇到的问题是,例如,如果有一个名为/blog/my-first-post => /blogpost.aspx
/blog/my-second-post => /blogpost.aspx
的页面,然后在路由www.mysite.com/blog.aspx
中放置了一个博客文章,则最后一个不显示为请求发送到页面www.mysite.com/blog/my-first-post
而不是我在上一行代码(blog.aspx
)中定义的blogpost.aspx
的页面:
page.Handler
有没有一种方法可以解决这个问题,并将两个URL Route siteRoute = new Route(page.RouteName, new CustomRouteHandler("~/" + page.Handler));
和/blog
重定向到两个不同的页面?