"Cannot get base site config" 斯巴达克斯错误

"Cannot get base site config" error in Spartacus

我们正在 Spartacus 中使用多站点设置。它工作正常,但是当用户输入 URL 和不正确的 baseSite 时,Spartacus 显示空白页面并在 JS 控制台 Error: Cannot get base site config! Current url (https://www.example.com/xyz/) doesn't match any of url patterns of any base sites. 中抛出错误(xyz 是本例中不正确的 baseSite 标识符)。

有没有办法处理这个错误并重定向用户,例如到 404 在这种情况下找不到页面?

您必须在 SiteContextConfigInitializer 的基础上实现自己的 class 并覆盖方法 resolveConfig。然后将其添加到模块中的提供程序:{ provide: SiteContextConfigInitializer, useClass: YourSiteContextConfigInitializer }。不幸的是,我猜你还必须为 isCurrentBaseSiteget currentUrl 添加自己的方法(只需复制并重命名),因为它们是私有的。