我使用给定模板之一创建了一个新的Hybris扩展 构建成功,我也可以启动服务器。
但是当从HAC打开网络链接时,我收到错误“无法找到与当前网址相关联的CMSSite”。
是否有解决或调查此问题的建议?
答案 0 :(得分:16)
您需要使用hosts文件映射或使用site-ID参数来避免500错误。
请点击这些链接
https://wiki.hybris.com/display/accdoc/Just+One+Storefront
https://help.hybris.com/6.3.0/hcd/8ae0711f86691014877ae05249b2f5ac.html(Hybris 6)
如果您拥有管理员权限,最好在主机文件中添加以下条目。
127.0.0.1 hybris.local
[示例]
etc hosts修改允许加速器从URL中识别站点(CMSSites)。这使URL整洁干净。
主机文件更改后,您可以像这样访问网站
http://hybris.local:9001/yacceleratorstorefront/
如果您不这样做,则需要使用其他请求参数来识别网站
http://localhost:9001/yacceleratorstorefront/?site=hybris&clear=true
答案 1 :(得分:2)
除主持人条目外,请务必为您的网站添加适当的正则表达式。
CMS网站有一个名为urlPatterns的属性。这是网站CMS过滤器匹配的正则表达式列表,用于确定用户尝试访问的店面。
最简单的方法是将另一个正则表达式添加到CMS站点,如下所示:
(?i)^https?://[^/]*/yacceleratorstorefront((?![\?\&]site=).)*
在运行时,您可以在hybris管理控制台(hMC)中执行此操作。导航到WCMS网站您的站点名称属性选项卡并编辑URL模式部分。
要使更改成为永久更改,请将相应的代码添加到CMS站点设置ImpEx脚本在初始化的项目数据阶段运行,例如用于电子产品店面
# CMS Site
UPDATE CMSSite;uid[unique=true];urlPatterns;
;electronics;(?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=electronics)(|\&.*)$,(?i)^https?://electronics\.[^/]+(|/.*|\?.*)$,(?i)^https?://api\.hybrisdev\.com(:[\d]+)?/rest.*$,(?i)^https?://[^/]*/yacceleratorstorefront((?![\?\&]site=).)*;
答案 2 :(得分:2)
如果您正在寻找快速解决方案并希望在网址中避免查询参数(?site=mysite
)来打开您的网站,请运行以下Impex。使用您的CMSSite名称更改mysite
。现在您可以直接打开您的网站了。 https://localhost:9002/yacceleratorstorefront/
$siteUid=mysite
# CMS Site
INSERT_UPDATE CMSSite ; uid[unique=true] ; urlPatterns ;
; $siteUid ; (?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$,(?i)^https?://$siteUid\.[^/]+(|/.*|\?.*)$,(?i)^https?://[^/].*$ ;
注意:如果您有多个网站,在这种情况下,您需要考虑不同的正则表达式,否则此网站将成为您的默认网站。
答案 3 :(得分:0)
如果服务器以不满意的Spring Bean依赖关系启动,通常会出现此问题。请检查您的服务器启动日志,以确认哪个特定的bean或多个bean未能初始化。