当我仅浏览子域但不浏览完整的商店URL时,Magento浏览商店视图

时间:2014-03-28 22:33:34

标签: .htaccess magento cookies

我在博客中提供了一些帮助,并在子域中设置了magento多重视图,当我输入url/?___store=store_name时,它正常运行。

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

首次在firefox私人窗口或google chrome隐身窗口中,如果我浏览grabgotech.com和magento1.grabgotech.com,则商店视图不会更改

但是如果我使用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域,但仍然没有运气。

如果我浏览到grabgotech.com,那么我希望它能告诉我"默认"商店视图,如果我只浏览magento1.grabgotech.com那么它应该显示sudipta_store视图,

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以通过.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);