【发布时间】:2020-09-07 06:19:10
【问题描述】:
每当我点击 URL https://localhost:9002/trainingstorefront/?site=electronics 时,它总是会重定向到站点主页。这个请求映射是如何实际发生的以及它在哪里决定要加载哪个站点。
【问题讨论】:
标签: redirect hybris request-mapping storefront
每当我点击 URL https://localhost:9002/trainingstorefront/?site=electronics 时,它总是会重定向到站点主页。这个请求映射是如何实际发生的以及它在哪里决定要加载哪个站点。
【问题讨论】:
标签: redirect hybris request-mapping storefront
站点映射是通过您可以在 CMSSite 下找到的正则表达式 (urlPatterns) 完成的。
$siteUid=electronics
# CMS Site
INSERT_UPDATE CMSSite ; uid[unique=true] ; urlPatterns ;
; $siteUid ; (?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$,(?i)^https?://$siteUid\.[^/]+(|/.*|\?.*)$;
正如您在此处看到的,(?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$ 正则表达式与电子 CMSSite 相关联。这意味着如果您点击 https://localhost:9002/trainingstorefront/?site=electronics URL,它会登陆电子网站。
您可以根据需要更改此 urlPatterns 正则表达式。
例如我希望用户在点击 https://localhost:9002/trainingstorefront/(没有 ?site=electronics)时登陆电子网站,为了实现这一点,我将在 urlPatterns 添加(?i)^https?://[^/].*$
$siteUid=electronics
# CMS Site
INSERT_UPDATE CMSSite ; uid[unique=true] ; urlPatterns ;
; $siteUid ; (?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$,(?i)^https?://$siteUid\.[^/]+(|/.*|\?.*)$,(?i)^https?://[^/].*$ ;
【讨论】: