我已经从博客中获得了一些帮助,并在子域中设置了magento多商店视图,当我输入url/?___store=store_name时,它运行良好。

我的意思是我设置了两个商店视图,一个是grabgotech.com,另一个是magento1.grabgotech.com

如果我浏览grabgotech.com和magento1.grabgotech.com,那么这是第一次在firefox私有窗口或google chrome隐身窗口中进行,然后商店视图没有改变

但是如果我使用magento存储视图切换器,则它将重定向到

http://grabgotech.com/index.php/?___store=default&___from_store=sudipta_store



http://magento1.grabgotech.com/index.php/?___store=sudipta_store&___from_store=default

而且商店视图的切换效果很好。

我认为这是因为将商店视图的值设置为cookie,因此,我还在每个商店视图的管理面板中都设置了cookie域,但是仍然没有运气。

如果我浏览至grapgotech.com,则希望它向我显示“默认”商店视图,如果我仅浏览至magento1.grabgotech.com,则它应向我显示sudipta_store视图,

我不想再使用/?___store=<store name>

任何帮助将不胜感激。

最佳答案

您可以通过.htaccess做到这一点

SetEnvIf Host grabgotech\.com MAGE_RUN_CODE=default
SetEnvIf Host magento1\.grabgotech\.com MAGE_RUN_CODE=sudipta_store


这将根据请求的域将MAGE_RUN_CODE设置为适当的商店视图。

Magento在index.php中读取这些变量并加载指定的商店视图:

/* Store or website code */
$mageRunCode = isset($_SERVER['MAGE_RUN_CODE']) ? $_SERVER['MAGE_RUN_CODE'] : '';

/* Run store or run website */
$mageRunType = isset($_SERVER['MAGE_RUN_TYPE']) ? $_SERVER['MAGE_RUN_TYPE'] : 'store';

Mage::run($mageRunCode, $mageRunType);

07-27 15:24