Errore 404 - Impossibile accedere al back-end dopo lo spostamento su un nuovo server


9

Ho spostato il mio sito Web su un nuovo server (il nome di dominio è lo stesso). Il frontend funziona correttamente ma la pagina di accesso dell'amministratore dà un 404 Not Founderrore.

La maggior parte dei post su questo problema suggeriscono le soluzioni menzionate in questo post Trasferimento del sito Web Magento, l'URL del pannello di amministrazione fornisce 404

Li ho provati tutti ma niente ha funzionato. C'è qualcos'altro che potrei fare per risolvere questo problema?

Risposte:


16

Il motivo di questo errore è che store_id e website_id per admin devono essere impostati su 0 (zero). Tuttavia, quando si importa il database su un nuovo server, in qualche modo questi valori non sono impostati su 0.

Apri PhpMyAdmin ed esegui la seguente query nel tuo database: -

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;

Eseguire il backup del database prima di apportare eventuali modifiche, consultare anche il file di registro per individuare il problema esatto. Inoltre puoi fare riferimento al link 404 magento admin error Spero che questo ti sia utile


1
Ciao, l'ho già fatto, ma non ha funzionato.
zekia,

Scusatemi per questo ...
Bhargav Mehta,

Il link suggerisce la stessa soluzione che hai menzionato e ho anche cancellato la cache. Ancora non risolto però
zekia

4

Mi sono imbattuto in un paio di cose che potrebbero causare questo

  • assicurati che .htaccess sia nella directory principale
  • assicurarsi che mod_rewritesia abilitato sul nuovo server
  • controlla gli URL di base nella core_config_datatabella
  • assicurarsi che la memorizzazione nella cache sia disattivata o aggiornata
  • controlla il proprietario del file e le autorizzazioni dei file

2

Devi andare direttamente al tuo server e farlo tramite SSH / FTP

Devi eliminare il seguente file

 app/etc/use_cache.ser

Se viene visualizzato un errore dopo tale like

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

Quindi vai al tuo Database Management.

Apri PhpMyAdmin Vai al tuo database Fai clic su SQL Esegui la seguente query 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;

Qualcosa di strano accade con la cache quando si spostano i database da un server a un altro, quindi sembra che sia necessario svuotarlo.


ciao spunta questa soluzione?
Nikunj Vadariya,

2

PROVA QUESTO. Importa il tuo backup db nel tuo database e aggiungi la riga sotto all'inizio del file .sql. Ciò impedirà a SQL di assegnare automaticamente l'id di 1 quando è necessario che sia 0.

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

se non riesce controlla questo link anche dopo aver provato il summenzionato Magento 404 nella pagina di amministrazione


2

Apri PhpMyAdmined esegui la seguente query nel tuo database

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;

quindi rimuovi due cartelle da file manager->var -> cache & session


1
A differenza di altri suggerimenti, questo era il processo corretto che dovevo eseguire. La query funziona per ottenere l'accesso, ma ho comunque dovuto cancellare le altre 2 cartelle.
Aknatn

1

basta aggiungerli in .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>

1

Abbiamo spostato i server alcune volte e ogni volta abbiamo riscontrato problemi uguali o simili. Abbiamo catturato tutti gli script che eseguiamo su ogni nuovo server ed ha funzionato per risolvere tutti i nostri problemi nelle ultime due migrazioni, puoi provarlo! Di solito il problema è stato che il vecchio URL è bloccato o memorizzato nella cache da qualche parte o un'autorizzazione è fuori uso.

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

Puoi anche provare ad aggiungere index.php all'URL in questo modo:

https://website.test/index.php/admin
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.