Kesalahan 404 - Tidak dapat mengakses backend setelah pindah ke server baru

9

Saya telah memindahkan situs web saya di server baru (nama domainnya sama). Frontend berfungsi dengan baik tetapi halaman login admin memberikan 404 Not Foundkesalahan.

Sebagian besar posting tentang masalah ini menyarankan solusi yang disebutkan pada posting ini. Mentransfer situs web Magento, memberikan admin panel URL 404

Saya sudah mencoba semuanya tetapi tidak ada yang berhasil. Apakah ada hal lain yang bisa saya lakukan untuk memperbaikinya?

zekia
sumber

Jawaban:

16

Alasan untuk kesalahan ini adalah bahwa store_id dan website_id untuk admin harus ditetapkan ke 0 (nol). Tapi, ketika Anda mengimpor database ke server baru, nilai-nilai ini entah bagaimana tidak diatur ke 0.

Buka PhpMyAdmin dan jalankan kueri berikut di basis data Anda: -

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;

Cadangkan basis data sebelum melakukan perubahan apa pun juga lihat file log untuk menemukan masalah yang sebenarnya. Anda juga dapat merujuk tautan 404 kesalahan admin magento Semoga ini bermanfaat bagi Anda

Bhargav Mehta
sumber
1
Hai, saya sudah melakukan itu, tetapi tidak berhasil.
zekia
Maaf untuk itu ...
Bhargav Mehta
Tautan menyarankan solusi yang sama yang Anda sebutkan dan saya juga membersihkan cache. Masih belum diperbaiki
zekia
4

Saya sendiri mengalami beberapa hal yang dapat menyebabkan hal ini

  • pastikan .htaccess ada di direktori root
  • pastikan mod_rewritediaktifkan di server baru
  • periksa url Basis di core_config_datatabel
  • pastikan caching mati atau segar
  • periksa pemilik file dan izin file
Sander Mangel
sumber
2

Anda harus langsung masuk ke server dan melakukan ini melalui SSH / FTP

Anda harus menghapus file berikut

 app/etc/use_cache.ser

Jika Anda mendapatkan kesalahan setelah itu suka

 Notice: Undefined index: 0 in /srv/www/vhosts/javra.com/htdocs/munchad2/app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92

Lalu pergi ke Manajemen Database Anda.

Buka PhpMyAdmin Buka database Anda Klik SQL Jalankan SQL Query berikut: _

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;

Beberapa hal aneh terjadi dengan cache ketika Anda memindahkan database dari satu server ke server lain sehingga sepertinya Anda harus menghapusnya.

Nikunj Vadariya
sumber
hai periksa solusi ini?
Nikunj Vadariya
2

COBALAH INI .. impor ur db cadangan database Anda tambahkan baris di bawah ini ke bagian atas file .sql. Ini akan mencegah SQL dari secara otomatis menetapkan id 1 ketika kita membutuhkannya 0.

/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */

jika tidak berhasil periksa tautan ini juga setelah mencoba yang disebutkan di atas Magento 404 di Halaman Admin

Dhanasekar
sumber
2

Buka PhpMyAdmindan jalankan kueri berikut di basis data Anda

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;

lalu hapus dua folder dari file manager->var -> cache & session

Anto sujesh
sumber
1
Berbeda dengan saran lain, ini adalah proses yang benar yang harus saya jalankan. Kueri berfungsi untuk mendapatkan akses tetapi saya masih harus menghapus 2 folder lainnya.
aknatn
1

cukup tambahkan ini di .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>
zeshan rahman
sumber
1

Kami telah memindahkan server beberapa kali dan setiap kali kami memiliki masalah yang sama atau serupa. Kami telah membuat tangkapan semua skrip yang kami jalankan di setiap server baru dan berhasil memperbaiki semua masalah kami untuk dua migrasi terakhir, Anda bisa mencobanya! Masalahnya biasanya sekitar url lama terjebak atau di-cache di suatu tempat atau izin rusak.

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 ..
Nick P
sumber
0

Anda juga dapat mencoba menambahkan index.php ke url seperti ini:

https://website.test/index.php/admin
TheKitMurkit
sumber