1

我们最近将使用 Sitecore 5 CMS 构建的网站移至新的 Server 2008 R2 / IIS 7.5 机器。但在此更改之后,我们的 Sitecore 别名不再解析。

更新我认为问题与我们的服务器移动无关。Sitecore API 中发生了一些奇怪的事情。

问题是这个对 Aliases.Exists() 的方法调用总是返回 false:

if (Sitecore.Context.Database.Aliases.Exists(args.LocalPath))
{
    var aliasId = Sitecore.Context.Database.Aliases.GetTargetID(args.LocalPath);        

    ...
}

但我可以使用以下代码获取别名节点:

var folder = Sitecore.Context.Database.Items["/sitecore/system/Aliases"];
var aliasItem = folder.Axes.GetChild(args.LocalPath);

其中 args.LocalPath 类似于“/thisIsAnAlias”。

我们在 web.config 文件中打开了 AliasesActive,并且匿名用户对 Alias 节点具有读取权限。

难道我做错了什么?为什么 Context.Database.Aliases 代码找不到别名?

4

1 回答 1

0

可能已经检查过了,但是您是否查看过 System > Aliases 文件夹以检查别名是否仍链接到它们各自的项目?在“数据”下有一个字段,您可以在其中确认这一点,称为“链接项目”。

于 2012-07-18T01:34:11.540 回答