与客户长时间交谈后:URL 必须保持原样。没有后缀,没有前缀,没有子域等。
检查了其他 magento 项目,它们都没有相同的行为。:S 很可能是某些插件导致了这种情况。
我想出了简单的解决方案,但没有奏效。基本想法是通过 $_SERVER 检查请求,检查 URL 并确定要在 index.php 中加载哪个存储
Mage::run($storeID);
但什么也没发生……同样的问题又来了。这是另一段代码,但我不喜欢它(它有效但很愚蠢)。:
$link=mysql_connect("localhost","username","password");
mysql_select_db("database",$link);
$path= substr($_SERVER['REQUEST_URI'],1) ;// remove starting slash
$sql = "SELECT store_id FROM `core_url_rewrite` WHERE request_path = '{$path}'";
$rez= mysql_fetch_object(mysql_query($sql,$link));
if(!empty($rez)){
// found the url and storeID
$store= $rez->store_id;
if($store != Mage::app()->getStore()->getId()){
// is store == current store?
//Mage::app()->setCurrentStore($store);
if($store==1) $storeID="hr"; else $storeID="en";
$_SERVER['REQUEST_URI']=$_SERVER['REQUEST_URI']."?___store=".$storeID;
// Mage::run($storeID); // doesn't work.
header("Location: ".$_SERVER['REQUEST_URI']);
die; // just in case
}
}
Mage::run($mageRunCode, $mageRunType); //default exec