Redirect Hybris?站点=电子设备始终重定向到电子设备站点

Redirect Hybris?站点=电子设备始终重定向到电子设备站点,redirect,hybris,request-mapping,storefront,Redirect,Hybris,Request Mapping,Storefront,每当我点击URL时https://localhost:9002/trainingstorefront/?site=electronics,它总是重定向到网站主页。此请求映射实际上是如何发生的,它在哪里决定要加载的站点。站点映射是通过您可以在CMSSite下找到的regex(urlPatterns)完成的 $siteUid=electronics # CMS Site

每当我点击URL时https://localhost:9002/trainingstorefront/?site=electronics,它总是重定向到网站主页。此请求映射实际上是如何发生的,它在哪里决定要加载的站点。

站点映射是通过您可以在CMSSite下找到的regex(urlPatterns)完成的

$siteUid=electronics
# CMS Site                                                                                                 
INSERT_UPDATE CMSSite ; uid[unique=true] ; urlPatterns                                                                                                                  ;      
                      ; $siteUid         ; (?i)^https?://[^/]+(/[^?]*)?\?(.*\&)?(site=$siteUid)(|\&.*)$,(?i)^https?://$siteUid\.[^/]+(|/.*|\?.*)$;
正如您在这里看到的,
(?i)^https?:/[^/]+(/[^?]*)?\?(.\&)?(site=$siteUid)(|\&.*)$
regex与电子产品CMSSite相关联。也就是说如果你打了https://localhost:9002/trainingstorefront/?site=electronics 它的网址登陆电子网站

您可以根据需要更改此urlPatterns regex。
e、 g.我希望用户在点击时登陆电子网站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?://[^/].*$ ;

请记住,一旦建立会话,CMS站点就无法更改或使用“clear”参数。是的,因为在第一次请求期间,它会向会话添加一个匹配的CMSsite,以便后续请求为同一个CMSsite服务。