对于magento中的多商店设置,我已经从configure-> manage store创建了一个网站名称,商店名称和商店视图名称,如
store: de
name: de
code: de
website:de
并且还更改了新创建的商店表单configure-> web部分的基本网址,最后我在umask(0)之后在index.php中添加了这些行;
if ($_SERVER['HTTP_HOST'] == "localhost/project_name/de" || $_SERVER['HTTP_HOST'] == "http://localhost/project_name/de"){
$_SERVER["MAGE_RUN_CODE"] = "de";
$_SERVER["MAGE_RUN_TYPE"] = "de";
}
但是当我要浏览网址http://localhost/project_name/de时 它显示404错误。
请给我一个解决方案
感谢
答案 0 :(得分:1)
您是否将index.php复制到您创建的新目录中?修改后的代码应该是新的index.php。
此外,您应该更改index.php文件中的Mage.php路径。
$mageFilename = '/root/directory/app/Mage.php';
并且,您是否将环境变量放在/ de文件夹.htaccess文件中:
SetEnvIf Host .*sitename.* MAGE_RUN_CODE=de
SetEnvIf Host .*sitename.* MAGE_RUN_TYPE=de
PS:使用您的域名更改sitename
。
或者只是更改子目录index.php文件,如下所示:
Mage::run($mageRunCode, $mageRunType);
到
Mage::run('de', 'de');
答案 1 :(得分:1)
$_SERVER['HTTP_HOST']
变量只包含服务器的域名(即HTTP请求中Host头的内容),本例为localhost。如果要在子目录中设置不同的存储,请参阅this blog post以获取基于.htaccess的解决方案,以设置图像运行代码。
答案 2 :(得分:1)
只需在magento root中复制两个文件即可。并且你想要的地方(mysite.com)文件夹
该文件是.htaccess.sample和index.php.sample
将两个文件重命名为.htaccess和index.php
打开index.php并编辑。
$ mageFilename = MAGENTO_ROOT。 '/app/Mage.php';
to
$ mageFilename ='/ root / teen / app / Matage.php';
编辑这两行
/ *商店或网站代码* / $ mageRunCode = isset($ _ SERVER ['MAGE_RUN_CODE'])? $ _SERVER ['MAGE_RUN_CODE']:'';
/ *运行商店或运行网站* / $ mageRunType = isset($ _ SERVER ['MAGE_RUN_TYPE'])? $ _SERVER ['MAGE_RUN_TYPE']:'store';
如果将$ mageRunType设置为'store' 你必须将$ mageRunCode设置为'商店代码'
提供更多详细信息
答案 3 :(得分:0)
您可能需要设置系统>配置>网络>在URL中使用商店代码。上次我尝试这样做,它开箱即用,无需触摸index.php或.htaccess