Hata 404 - Yeni sunucuya taşındıktan sonra arka uca erişilemiyor


9

Web sitemi yeni bir sunucuya taşıdım (alan adı aynı). Ön uç düzgün çalışıyor ancak yönetici giriş sayfası bir 404 Not Foundhata veriyor .

Bu konuyla ilgili çoğu gönderi bu yayında belirtilen çözüm önerilerini sunuyor Magento web sitesine aktarılıyor, yönetici paneli URL'si 404

Hepsini denedim ama hiçbir şey olmadı. Bunu düzeltmek için yapabileceğim başka bir şey var mı?

Yanıtlar:


16

Bu hatanın nedeni, yönetici için store_id ve website_id öğelerinin 0 (sıfır) olarak ayarlanmasıdır. Ancak, veritabanını yeni sunucuya aktardığınızda, bu değerler bir şekilde 0 olarak ayarlanmaz.

PhpMyAdmin'i açın ve veritabanınızda aşağıdaki sorguyu çalıştırın: -

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;

Herhangi bir değişiklik yapmadan önce veritabanını yedekleyin, ayrıca tam sorunu bulmak için günlük dosyasına bakın. Ayrıca bağlantı 404 magento yönetici hatası başvurabilirsiniz Umarım bu size yardımcı olur


1
Merhaba, bunu zaten yaptım, ama işe yaramadı.
zekia

Bunun için üzgünüm ...
Bhargav Mehta

Bağlantı, bahsettiğiniz çözümü önerir ve ben de önbelleği temizledim. Yine de sabit değil
zekia

4

Buna neden olabilecek birkaç şeyle karşılaştım

  • .htaccess'in kök dizinde olduğundan emin olun
  • mod_rewriteyeni sunucuda etkin olduğundan emin olun
  • core_config_datatablodaki Temel URL'leri kontrol edin
  • önbelleğe almanın kapalı veya yenilenmiş olduğundan emin olun
  • dosya sahibini ve dosyaların izinlerini kontrol et

2

Sunucunuza doğrudan gitmeniz ve bunu SSH / FTP ile yapmanız gerekir

Aşağıdaki dosyayı silmelisiniz

 app/etc/use_cache.ser

Bundan sonra bir hata alırsanız

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

Ardından Veritabanı Yönetiminize gidin.

PhpMyAdmin'i açın Veritabanınıza gidin SQL'i tıklatın Aşağıdaki SQL Sorgusunu çalıştırın: _

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;

Veritabanlarını bir sunucudan diğerine taşıdığınızda önbellekle garip bir şey olur, bu yüzden temizlemeniz gerekir.


merhaba kontrol edin Bu çözüm?
Nikunj Vadariya

2

TRY THIS..re import ur db yedekleme veritabanınızı aşağıdaki satırı .sql dosyasının üstüne ekleyin. Bu, SQL'in 0 olması gerektiğinde otomatik olarak 1 kimliğini atamasını önler.

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

başarı yoksa bu bağlantıyı Yönetici Sayfasında yukarıda belirtilen Magento 404 denedikten sonra da kontrol edin


2

PhpMyAdminVeritabanınızda aşağıdaki sorguyu açın ve çalıştırın

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;

ardından iki klasörü file manager->var -> cache & session


1
Diğer önerilerin aksine, bu benim yürütmem gereken doğru süreçti. Sorgu erişim kazanmak için çalışıyor ama yine de diğer 2 klasörleri temizlemek zorunda kaldı.
aknatn

1

bunları .htaccess içine eklemeniz yeterli

<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>

1

Sunucuları birkaç kez taşıdık ve her seferinde aynı veya benzer sorunları yaşadık. Her yeni sunucuda çalıştırdığımız tüm komut dosyalarını yakaladık ve son iki taşıma işlemi için tüm sorunlarımızı düzeltmek için çalıştı, bir şans verebilirsiniz! Sorun genellikle eski URL'nin bir yere takılması veya önbelleğe alınmasıyla ilgili olmuştur veya bir izin saçmadır.

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 ..

0

Ayrıca url'ye index.php eklemeyi de deneyebilirsiniz:

https://website.test/index.php/admin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.