오류 404-새 서버로 이동 한 후 백엔드에 액세스 할 수 없습니다


9

웹 사이트를 새 서버로 옮겼습니다 (도메인 이름이 동일 함). 프론트 엔드가 제대로 작동하지만 관리자 로그인 페이지에 404 Not Found오류가 발생합니다.

이 문제에 대한 대부분의 게시물은이 게시물에 언급 된 솔루션을 제안합니다. Magento 웹 사이트 전송, 관리자 패널 URL은 404

나는 그들 모두를 시도했지만 아무것도 효과가 없었다. 이 문제를 해결하기 위해 다른 방법이 있습니까?

답변:


16

이 오류의 원인은 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 관리자 오류를 참조 할 수 있습니다 희망이 당신에게 도움이 되기를 바랍니다


1
안녕하세요, 나는 이미 그 일을했지만 작동하지 않았습니다.
zekia

죄송합니다 ...
Bhargav Mehta

링크는 언급 한 것과 동일한 솔루션을 제안하며 캐시도 지 웠습니다. 그래도 고쳐지지 않음
zekia

4

나는 이것을 일으킬 수있는 몇 가지 나 자신을 만났다.

  • .htaccess가 루트 디렉토리에 있는지 확인하십시오.
  • mod_rewrite새 서버에서 활성화되어 있는지 확인하십시오
  • core_config_data표 에서 기본 URL을 확인하십시오.
  • 캐싱이 꺼져 있거나 새로 고쳐 졌는지 확인
  • 파일 소유자 및 파일 권한 확인

2

서버로 직접 이동하여 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;

한 서버에서 다른 서버로 데이터베이스를 옮길 때 캐시에서 이상한 일이 발생하므로 삭제해야 할 것 같습니다.


안녕하세요이 솔루션을 확인 하시겠습니까?
Nikunj Vadariya

2

데이터베이스를 백업하십시오. 데이터베이스를 백업하십시오. 아래 행을 .sql 파일 맨 위에 추가하십시오. 이렇게하면 0이 필요할 때 SQL이 1의 ID를 자동으로 할당하지 못하게됩니다.

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

성공하지 못하면 관리자 페이지 에서 위에서 언급 한 Magento 404를 시도한 후에도이 링크를 확인하십시오


2

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 & 에서 두 개의 폴더를 제거하십시오.session


1
다른 제안과 달리, 이것은 내가 실행 해야하는 올바른 프로세스였습니다. 쿼리는 액세스 권한을 얻도록 작동하지만 여전히 다른 두 폴더를 지워야했습니다.
aknatn

1

.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

우리는 서버를 몇 차례 이동했으며 매번 동일하거나 유사한 문제가 발생했습니다. 우리는 각각의 새 서버에서 실행되는 모든 스크립트를 포착했으며 마지막 두 마이그레이션에 대한 모든 문제를 해결하기 위해 노력했습니다. 문제는 일반적으로 이전 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 ..

0

다음과 같이 URL에 index.php를 추가 할 수도 있습니다.

https://website.test/index.php/admin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.