Erro 404 - Não é possível acessar o back-end após mudar para o novo servidor

9

Mudei meu site para um novo servidor (o nome de domínio é o mesmo). O front-end está funcionando corretamente, mas a página de login do administrador apresenta um 404 Not Founderro.

A maioria das postagens sobre esse problema sugere as soluções mencionadas nesta publicação Transferindo o site Magento, o URL do painel de administração fornece 404

Eu tentei todos eles, mas nada funcionou. Há algo mais que eu possa fazer para corrigir isso?

zekia
fonte

Respostas:

16

O motivo desse erro é que store_id e website_id para admin devem ser definidos como 0 (zero). Mas, quando você importa o banco de dados para um novo servidor, esses valores não são definidos como 0.

Abra o PhpMyAdmin e execute a seguinte consulta no seu banco de dados: -

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;

Faça backup do banco de dados antes de fazer alterações. Consulte o arquivo de log para encontrar o problema exato. Você também pode consultar o link 404 magento admin error Espero que isso seja útil para você

Bhargav Mehta
fonte
11
Oi, eu já fiz isso, mas não funcionou.
Zekia
Desculpe por isso ... #
314 Bhargav Mehta
O link sugere a mesma solução que você mencionou e eu também limpei o cache. Ainda não fixas embora
zekia
4

Eu mesmo me deparei com algumas coisas que poderiam causar isso

  • verifique se o .htaccess está no lugar no diretório raiz
  • verifique se mod_rewriteestá ativado no novo servidor
  • verifique os URLs base na core_config_datatabela
  • verifique se o cache está desativado ou atualizado
  • verifique o proprietário do arquivo e as permissões dos arquivos
Sander Mangel
fonte
2

Você precisa acessar seu servidor diretamente e fazê-lo via SSH / FTP

Você precisa excluir o seguinte arquivo

 app/etc/use_cache.ser

Se você receber um erro depois disso, como

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

Em seguida, vá para o Gerenciamento de banco de dados.

Abra o PhpMyAdmin Vá para o seu banco de dados Clique em SQL Execute a seguinte consulta 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;

Algo estranho acontece com o cache quando você move os bancos de dados de um servidor para outro, então parece que você precisa limpá-lo.

Nikunj Vadariya
fonte
oi check Esta solução?
Nikunj Vadariya
2

TENTE ISSO .. reimporte seu banco de dados e adicione a linha abaixo na parte superior do arquivo .sql. Isso impedirá que o SQL atribua automaticamente o ID 1 quando precisarmos que seja 0.

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

se não for bem-sucedido, verifique este link também depois de tentar o Magento 404 acima mencionado na página de administração

Dhanasekar
fonte
2

Abra PhpMyAdmine execute a seguinte consulta no seu banco de dados

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;

remova duas pastas de file manager->var -> cache & session

Anto sujesh
fonte
11
Ao contrário de outras sugestões, esse era o processo correto que eu precisava executar. A consulta funciona para obter acesso, mas eu ainda tinha que limpar as outras 2 pastas.
aknatn
1

basta adicioná-los em .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
fonte
1

Movemos servidores algumas vezes e sempre tivemos problemas iguais ou semelhantes. Fizemos um catch de todos os scripts que executamos em cada novo servidor e ele trabalhou para corrigir todos os nossos problemas nas duas últimas migrações, você pode tentar! O problema geralmente é que o URL antigo está preso ou armazenado em cache em algum lugar ou a permissão está fora de controle.

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

Você também pode tentar adicionar index.php ao URL como este:

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