2013-10-22 46 views
1

我提出一個MultiStore的另一個Web服務器具有以下structrue:Magento的:感動MultiStore的 - 新店總是重定向到舊域,雖然新BASE_URL

mystore.com --> Magento Multistore installation 
flowers.website.com --> symlinks to mystore.com folder 
cars.website.com --> symlinks to mystore.com folder 

新的設置是完全一樣的(唯一不同的域和文件夾名稱)。

但是,如果我去新的網址mynewstore.com我將永遠重定向到舊的域名。 事情我已經做/嘗試:

  • 改變了base_urls在core_config_data
  • 清除VAR + 777允許
  • 清除會話表
  • 重新編制
  • 對重定向經過htaccess的
  • 經過指數.php
  • 檢查不同商店的模板重定向

我的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'; 
$mageRunCode = 'mystore'; 
$mageRunType = 'website'; 
Mage::run($mageRunCode, $mageRunType); 

如果我要改變$mageRunCode到另一個存儲ID(如 「花」),老(!!)花店(重定向到老花URL)將被加載。

我想這很難在不查看代碼的情況下解決問題,但我沒有其他想法來嘗試這裏。我真的很感激任何提示。

+0

嗨Hannes。 你在運行什麼web服務器?有比編輯index.php更好的方法。 你有MySQL服務器訪問權限嗎? – activeDev

回答

0

你的index.php文件,因爲你擁有它是壓倒一切的,因爲這些線路的MAGE_RUN_CODEMAGE_RUN_TYPE變量:

$mageRunCode = 'mystore'; 
$mageRunType = 'website'; 

由於他們是他們最初的定義之後叫,他們;再被重置爲mystorewebsite

嘗試刪除這些行,並查看變量是否已正確傳遞到Mage::run()函數中。


約CHMODing 777重要通知。

這是一個潛在的危險事情,因爲它可以讓公衆訪問您的文件系統。出於這個原因,您從不想在生產站點上設置權限集。

將您的文件夾設置爲755並將文件設置爲644。爲此,打開shell連接並將cd打開到您的Magento根目錄。運行以下命令:

chmod -R 755 *; find -type f -print0|xargs -0 chmod 644 

如果運行正確,Magento安裝中的所有文件都將被設置爲正確的權限。

+0

非常感謝您的幫助。你的帖子是有道理的,我改變了index.php。但不幸的是,它仍然重定向到舊域名。也感謝你對權限的說明,我將改變它。 –

+0

您提到「舊域名」,所以我假設域名已更改爲?您確定您已經更新並設置了Magento配置中STORE級​​別配置上的域名? – Axel

+0

是的,我做了一個select * from core_config_data,其中路徑如「%base_url」;我更新了所有這些網址。新的網址是正確的。我知道,這真的很奇怪!但謝謝你的評論,我真的很感激。 –

0

在索引中。PHP的頭添加此:

$_SERVER['MAGE_RUN_CODE'] = $_SERVER['REDIRECT_MAGE_RUN_CODE']; 
$_SERVER['MAGE_RUN_TYPE'] = $_SERVER['REDIRECT_MAGE_RUN_TYPE']; 
+1

請向作者和未來的谷歌解釋你的答案實際上是如何解決問題的。裸碼不是非常有用的 – StormeHawke

1

我曾經有同樣的問題,並花了我幾乎整整一天,找出什麼是錯的。我有一個多重廣告,但所有商店在我試過的每個網址上都放了一個404頁面。最後,解決方案是將MAGE_RUN_TYPEwebsite更改爲store

相關問題