2013-11-20 22 views
1

我有一個本地VM中的magento測試環境。它是生產代碼和數據庫的副本。爲了得到這個工作,我做了以下工作:Magento測試安裝重定向到生產

  • 在mysql轉儲中,我將www.website.com替換爲所有域的test.website.com。
  • 我更改虛擬機和本地計算機上的hosts文件,以將流量引導到測試域的vm。
  • 在index.php中存在針對測試子域更新的不同商店代碼的條件。

這適用於舊備份。當我備份一個新的生產數據庫並替換子域時,我可以恢復該數據庫並且可以工作。當我更新代碼時,事情出錯了。我打開了網頁test.website.com,並在某個時候給出了一個302代碼並重定向到www.website.com這個生產站點。

虛擬機是Ubuntu桌面,所以它有自己的瀏覽器,並且我可以更改主機文件以保持www本地流量。但我更喜歡使用測試域。

我想知道如何找出重定向發生的地方。在某個時候它調用mage :: run,然後我迷路了。我在哪裏可以看到以及如何找到此重定向?

+2

你有雙重檢查,如果表「core_config_data」表中包含您的本地化設置「網頁/不安全/ BASE_URL」和「網絡/安全/ BASE_URL」路徑?另外,檢查.htaccess文件也是一個好主意。 –

+0

謝謝。在core_config_data和htaccess中,我都能找到不正確的設置。我修復了這些問題,但仍然保留了重定向... – SPRBRN

+1

如果您在表「core_config_data」的「web/url/redirect_to_base」中放置0,會發生什麼? – gelleby

回答

3

我的基本的Magento 1.7.0.2網站副本:

  1. 複製通過SQL
  2. 在表中「core_config_data編輯網絡/安全/ BASE_URL和網絡數據庫/ unsecure/base_url
  3. 複製站點文件
  4. 編輯在應用程序的/ etc/local.xml中<dbname><![CDATA[your_db_name]]></dbname>
  5. 清理數據庫值緩存 VAR /緩存/ *一段VAR /鎖/ * VAR /會話/ *
  6. 務必檢查!
+0

再次感謝!我使用sed來搜索mysql轉儲,並用test-subdomain替​​換www-subdomain(對於所有域)。這應該包括第2步。清理日誌,報告和舊備份可能會加速文件同步。之後,我重置所有文件夾和某些文件的權限,並將所有權更改爲apache用戶。 – SPRBRN

+0

我喜歡sed的使用。您是否在生產中清理日誌報告導入備份或作爲轉儲的一部分? – Dan

+0

如果可以,我會在生產中清理日誌等。隨着時間的推移,系統日誌會變得很大,這是我需要考慮的另一個時間。我只是刪除它,而magento自己創建一個新的。如果我真的需要有一箇舊日誌,我總是可以恢復備份。 – SPRBRN

1

app/local/config.xml中有一個設置(或者在那裏,對不起,我想它已經有一段時間了),或者在admin-> configuration部分中,您可以提供基本URL,查看如果這些仍設置爲舊值

+1

這應該是'app/etc/config.xml'。我沒有看到任何東西。我無法打開管理員,因爲它也重定向。 – SPRBRN

1

我有同樣的問題。當然,您必須使用Dan中描述的步驟。但是這對我沒有幫助。我已經找到了解決辦法是改變對APC(替代PHP緩存)設定(/app/etc/local.xml):

<cache> 
    <backend>apc</backend> 
    <prefix>other_prefix_then_production_</prefix> 
</cache> 
+0

你能解釋一下你在做什麼以及文件的位置? – SPRBRN

+1

我改進了答案。通過更改前綴,apc不會將緩存用作生產站點,這會導致重定向。 – user1767910

1

如果沒有丹描述的步驟作品,嘗試刪除內容/ tmp/magento/var/cache /文件夾並重新啓動服務器。

rm -rf /tmp/magento/var/cache/*