2012-03-14 84 views
2

我为一个也重新命名的项目创建了一个别名(基本上是Sitecore中的一个虚拟(或替代)路径)。然后,我的自定义重定向处理程序正确地确定旧链接的项目ID。Sitecore GetItemUrl()解析为别名

但是,当我呼叫LinkManager.GetItemUrl(item, urlOptions)时,生成的URL用于别名,而不是内容树中存在的实际Sitecore项目。

这是Sitecore的默认行为LinkManager.GetItemURL()解析为一个项目的别名,如果存在?

回答

2

这是possibly related questionsolution

  1. 您能确保您没有使用自定义LinkProvidercustom LinkProvider on the shared source?如果您正在使用它,则其部分行为是为项目链接应用别名。

  2. 另一件事是看看你的HTML输出缓存,并确保这不是问题(如上面的链接引用其他问题)。

此外,您正在使用什么版本的Sitecore?

+0

这就是令人费解的。我没有使用自定义的LinkProvider。我使用的是Sitecore API附带的一个。当我浏览代码时,我可以看到它将Sitecore项传递给GetItemUrl(item,urlOptions)方法并返回别名的URL。我运行的版本是Sitecore 6.4.1 – sean 2012-03-14 19:29:05

+0

更正 - 它使用“共享源”链接提供程序。 – sean 2012-03-14 19:57:26

+0

这似乎很奇怪。为什么这是“共享源码”版本的行为? – sean 2012-03-14 20:07:15