0

我关注了这篇文章这篇文章,以测试为项目创建自定义路由条目。我试图在 global.asax 中注册一条类似这样的路线......

 void RegisterRoutes(RouteCollection routes)
    {
        routes.RouteExistingFiles = true;
        routes.MapPageRoute("about", "about/us", "~/About/Company", false);
    }

但不幸的是,这会导致 404。我认为 asp.net 路由正在寻找一个物理页面“About/Company.aspx”,因为它更多是从 sitecore/content/site/ 渲染的页面/链接站点核心树中的关于/公司。您知道是否有办法将其重定向到呈现的站点核心 url/项目?

4

1 回答 1

2

使用路由来执行此操作可能不是最佳解决方案。

将 URL 映射到特定项目的最简单方法是设置别名。有关别名的更多信息,请参阅Data Definition Cookbook中的第 6.1 章。

如果您需要更多控制权,您可以创建一个自定义 ItemResolver,它可以位于 HttpRequestBegin 管道中的默认 ItemResolver 之后,并且可以运行您的自定义 URL/项目映射。

于 2013-03-01T09:04:10.200 回答