新しいサーバーにドメインを移動しました(ドメイン名は同じです)。フロントエンドは正常に動作していますが、管理者ログインページで404 Not Found
エラーが発生します。
この問題に関するほとんどの投稿は、この投稿に記載されている解決策を示唆していますMagentoのウェブサイトを転送しています、管理パネルのURLは404を示しています
私はそれらすべてを試しましたが、何もうまくいきませんでした。これを修正するために他に何かできることはありますか?
新しいサーバーにドメインを移動しました(ドメイン名は同じです)。フロントエンドは正常に動作していますが、管理者ログインページで404 Not Found
エラーが発生します。
この問題に関するほとんどの投稿は、この投稿に記載されている解決策を示唆していますMagentoのウェブサイトを転送しています、管理パネルのURLは404を示しています
私はそれらすべてを試しましたが、何もうまくいきませんでした。これを修正するために他に何かできることはありますか?
回答:
このエラーの理由は、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;
変更を行う前にデータベースをバックアップし、ログファイルを確認して問題を正確に見つけます。また、あなたはリンク404 magento admin errorを参照することができ ますこれがあなたに役立つことを願っています
サーバーに直接アクセスして、SSH / FTP経由でこれを行う必要があります
次のファイルを削除する必要があります
app/etc/use_cache.ser
その後にエラーが発生した場合
Notice: Undefined index: 0 in /srv/www/vhosts/javra.com/htdocs/munchad2/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92
次に、データベース管理に移動します。
PhpMyAdminを開きますデータベースに移動しますSQLをクリックします次のSQLクエリを実行します:_
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;
あるサーバーから別のサーバーにデータベースを移動すると、キャッシュで奇妙なことが起こり、それをクリアする必要があるようです。
TRY THIS..re import ur db backup your database以下の行を.sqlファイルの先頭に追加します。これにより、IDが0である必要がある場合に、SQLが自動的に1のIDを割り当てることを防ぎます。
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */
上記のMagento 404を管理ページで試した後も成功しない場合は、このリンクを確認してください 。
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;
次に、file manager->var -> cache
& から2つのフォルダを削除しますsession
これらを.htaccessに追加するだけです
<IfModule mod_rewrite.c>
############################################
## Enable rewrites
Options +FollowSymLinks
RewriteEngine on
############################################
## You can put here your magento root folder
## path relative to web root
#RewriteBase /magento/
############################################
## Workaround for HTTP authorization
## in CGI environment
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
############################################
## TRACE and TRACK HTTP methods disabled to prevent XSS attacks
RewriteCond %{REQUEST_METHOD} ^TRAC[EK]
RewriteRule .* - [L,R=405]
############################################
## Never rewrite for existing files, directories and links
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
############################################
## Rewrite everything else to index.php
RewriteRule .* index.php [L]
</IfModule>
サーバーを数回移動し、毎回同じまたは同様の問題が発生しました。新しいサーバーごとに実行するすべてをキャッチするスクリプトを作成しました。これにより、最後の2つの移行のすべての問題が修正され、試してみることができます。問題は通常、古いURLがどこかでスタックまたはキャッシュされているか、アクセス許可が壊れていることです。
rm -rf var/cache
rm -rf var/full_page_cache/
rm -rf media/catalog/product/cache
rm -rf var/session/*
php shell/indexer.php --reindexall
chown -R apache .
systemctl restart mysqld
systemctl restart httpd
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
find feeds -type f -exec chmod 644 {} \;
chmod 777 var -R
chmod 777 media -R
chcon -R -t httpd_sys_rw_content_t .
chcon -Rv --type=httpd_sys_content_t ..
次のように、index.phpをURLに追加することもできます。
https://website.test/index.php/admin