需要你的帮助。我使用Magento 1.9.2.1制作了一个多视图(domain.com& sub.domain.com)商店。一切都好!但!当您尝试获取子域时,magento会向您显示主域中的信息。 另一方面,当您尝试通过主域获取子域时(使用GET的语言切换器“?___ store = viewSubDomainCode& ___ from_store = viewDomainCode”)。 原因是我想设置Cookies。 如果我的请求直接http://sub.domain.com,如何让Magento设置cookie。 子域的Index.php:
/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : 'code of my WEBSITE';
/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'website';
Mage::run($mageRunCode, $mageRunType);
重要的是:我需要两个域的COOKIES(一个购物车)。
简单地说:我想设置子域的CurrentStore!
答案 0 :(得分:0)
首先,您需要正确设置Cookie以使其在域/子域中工作: https://magento.stackexchange.com/questions/68070/whats-the-correct-cookie-config-for-a-magento-site-split-across-multiple-instan
关于商店切换到正确的视图,您需要.htaccess修改:
RewriteCond %{HTTP_HOST} www\.domain1\.com [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:domain1_com]
RewriteCond %{HTTP_HOST} www\.domain1\.com [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]
RewriteCond %{HTTP_HOST} www\.domain2\.com [NC]
RewriteRule .* - [E=MAGE_RUN_CODE:domain2_com]
RewriteCond %{HTTP_HOST} www\.domain2\.com [NC]
RewriteRule .* - [E=MAGE_RUN_TYPE:website]
或者修改index.php以根据域进行切换:
switch($_SERVER['HTTP_HOST']) {
case 'domain1.com':
case 'www.domain1.com':
$mageRunCode = 'domain1_com';
$mageRunType = 'website';
break;
case 'domain2.com':
case 'www.domain2.com':
$mageRunCode = 'domain2_com';
$mageRunType = 'website';
break;
}
有了这个,别忘了清除缓存&会议,它应该工作。