Magentoのインストールをあるローカルマシンサーバーから別のマシンに転送しました。現在、管理パネルにログインできません。管理者ログインURLにアクセスすると、次のエラーメッセージが表示されます。
「エラー:404が見つかりません」
モジュールのページの一部にもこのエラーが表示されます。
誰でも問題を理解できますか?
最後に、私の問題の解決策を見つけました。
Magentoシステムログファイル(var/log/system.log)を調べました。そこで、正確なエラーを見ました。
エラーは次のとおりです。
回復可能エラー:Mage_Core_Model_Store :: setWebsite()に渡される引数1は、Mage_Core_Model_Websiteのインスタンスである必要があります。nullが指定され、YOUR_PATH\app\code\core\Mage\Core\Model\App.php行555で呼び出され、YOUR_PATH \で定義されます285行目のapp\code\core\Mage\Core\Model\Store.php
回復可能なエラー:Mage_Core_Model_Store_Group :: setWebsite()に渡される引数1は、Mage_Core_Model_Websiteのインスタンスである必要があります。nullが指定され、YOUR_PATH\app\code\core\Mage\Core\Model\App.phpで575行目でYOUR_PATH \で定義されます227行目のapp\code\core\Mage\Core\Model\Store\Group.php
実際、以前このエラーがありました。しかし、Error: 404 Not Found
のようなエラー表示メッセージは私にとって新しいものでした。
このエラーの理由は、adminのstore_id
およびwebsite_id
を0(ゼロ)に設定する必要があるためです。ただし、データベースを新しいサーバーにインポートすると、これらの値は何とか0に設定されません。
PhpMyAdminを開き、データベースで次のクエリを実行します。
SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code='admin';
UPDATE `core_store_group` SET group_id = 0 WHERE name='Default';
UPDATE `core_website` SET website_id = 0 WHERE code='admin';
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN';
SET FOREIGN_KEY_CHECKS=1;
私はここでこの問題と解決策について書きました:
Magentoサイトをコピーしてローカルエリアに移動したので、オフラインで作業でき、同じ問題が発生しました。
しかし、結局、Magentoがhttpからhttpsへのリダイレクトを強制しており、SSLがセットアップされていないことがわかりました。これで問題が解決しました http://www.magentocommerce.com/wiki/recover/ssl_access_with_phpmyadmin
Core_config_dataでweb/secure/use_in_adminhtmlの値を1から0に設定して、管理領域への非セキュアアクセスを許可するようになっています