我一直在尝试几个小时,以获得一个不同的存储显示基于子目录。我们为Magento设立的舞台网站适用于世界其他地区,美国,英国和澳大利亚的商店,它们之间存在各种差异。我们通过在.htaccess中设置环境变量来工作(我将仅使用基本和澳大利亚商店,以便简化),然后在index.php文件中使用它来加载正确的商店。Magento网站切换.htaccess
SetEnvIf Host staging\.hostname\.com MAGE_RUN_CODE=base
SetEnvIf Host staging\.hostname\.com MAGE_RUN_TYPE=store
SetEnvIf Host staging-au\.hostname\.com MAGE_RUN_CODE=au
SetEnvIf Host staging-au\.hostname\.com MAGE_RUN_TYPE=website
现在我一直在负责改变这种使用子目录,所以staging.hostname.com/au/,不管我把不起作用。
我已将配置中不同商店的基础网址更改为指向澳大利亚商店的staging.hostname.com/au/。从我可以看到它不是拿起我的新的.htaccess线
SetEnvIf Request_URI "^/au/.*" MAGE_RUN_CODE=au
SetEnvIf Request_URI "^/au/.*" MAGE_RUN_TYPE=website
我试着和不带引号的正则表达式,有和没有任何通配符(*),并没有喜悦。
我确实删除/注释掉了SetEnvIf主机行,否则它可能会导致问题,因为我设置了两次环境变量。
如果我将旧url指向商店(staging-au.hostname.com),则Magento将重定向到商店的staging.hostname.com/au基本URL(这意味着旧的.htaccess信息起作用) ,但它然后默认回到基本商店值,并给我一个404错误。
任何帮助将不胜感激。
Apache版本2.2.21如果有帮助。
让您的生活更轻松:http://blog.speedupmate.com/post/9992573819/poor-mans-multisite-setup-for-magento – 2012-01-06 07:39:47