Magento多网站控制器

Magento多网站控制器,magento,web,store,controllers,Magento,Web,Store,Controllers,是否可以在Magento中以编程方式发送网站?目前,我的网站根目录中有一个名为/websites的目录。在这个目录中,我有每个网站的子目录,例如site_a、site_b、site_c。然后,每个站点子目录都有一个带有适当运行代码的.htaccess和index.php,例如: $mageFilename = '../../app/Mage.php'; require_once $mageFilename; Mage::run("site_b", "website"); 在/websi

是否可以在Magento中以编程方式发送网站?目前,我的网站根目录中有一个名为/websites的目录。在这个目录中,我有每个网站的子目录,例如site_a、site_b、site_c。然后,每个站点子目录都有一个带有适当运行代码的.htaccess和index.php,例如:

$mageFilename = '../../app/Mage.php';
require_once $mageFilename;    
Mage::run("site_b", "website");

在/websites/site_b中的index.php中。虽然这样做有效,但我确实希望避免在文件系统中进行文件管理。任何人都可以就最好的方法提出建议吗?可能是/websites中的一个脚本,它代替了单个站点子目录。非常感谢您的帮助。

如果我理解正确,您需要的是一些符号链接:在每个子目录中,创建指向原始安装的符号链接。IE:
ln-s../app//app


查看此

您可以访问php中的$\u服务器变量,并可以使用这些变量来确定Mage::run(“任意”、“网站”);电话,例如:

$whatever=$_SERVER['condition/url/whatever'];

// or use some cookies 

if (isset($_COOKIE['dev'])) $whatever=$_COOKIE['dev'];


switch($whatever)
{ case "example.com":
  case "www.example.com":
    $_SERVER['MAGE_RUN_CODE'] = "example";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
    break;
  case "dev":
  case "test.com":
    $_SERVER['MAGE_RUN_CODE'] = "test";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
  default:
    $_SERVER['MAGE_RUN_CODE'] = "live";
    $_SERVER['MAGE_RUN_TYPE'] = "website";
}
Mage::run($_SERVER['MAGE_RUN_CODE'], $_SERVER['MAGE_RUN_TYPE']);

这样,您只需在Magento后端中添加一个代码库和正确配置的设置即可路由到不同的存储。

您可以处理.htaccess文件中的所有内容 我的看起来像这样:

#SetEnvIf Host www\.lenjerii\.com MAGE_RUN_CODE=base
#SetEnvIf Host www\.lenjerii\.com MAGE_RUN_TYPE=website
#SetEnvIf Host ^lenjerii\.com MAGE_RUN_CODE=base
#SetEnvIf Host ^lenjerii\.com MAGE_RUN_TYPE=website

#SetEnvIf Host www\.wildfashion\.ro MAGE_RUN_CODE=wildfashion
#SetEnvIf Host www\.wildfashion\.ro MAGE_RUN_TYPE=website
#SetEnvIf Host ^wildfashion\.ro MAGE_RUN_CODE=wildfashion
#SetEnvIf Host ^wildfashion\.ro MAGE_RUN_TYPE=website

此解决方案消除了附加网站的任何其他文件夹。

例如,我在虚拟主机定义中使用了SetEnv MAGE_RUN_代码“site_d”。然而,在这种情况下,我正在寻找通过url发送许多网站的最佳方式。在这种情况下,OSDave的答案可能适合您,但是,我已经不再使用ln-s../app//app。(和所有其他目录)并在index.php中拉入我自己的逻辑