WP 사이트를 옮길 때 왜 wp-admin이 이전 사이트로 리디렉션됩니까?


16

한 호스트에서 다른 호스트로 WP 사이트를 이동하는 중입니다. 데이터베이스와 모든 파일을 복사하고 새 데이터베이스를 작성하고 이전 데이터베이스를 가져 왔습니다. 그런 다음 wp-config 파일을 변경했습니다. 홈 페이지에는 문제가 없지만 / wp-admin에 액세스하려고하면 이전 사이트로 돌아갑니다.

새 사이트는 사이트를 게시하기 전에 스타일을 변경하려는 개발자 서버입니다.

이 전환에서 무엇을 놓치고 있습니까? 사이트가 개발자 URL에 올바르게 응답하도록하려면 어떻게해야합니까?

답변:


22

이것이 단일 WordPress 설치 인 경우 기존 도메인에 몇 개의 데이터베이스 항목이 있습니다. 특히, siteurlhomewp_options.

즉, dev URL이 일시적인 경우 다음 두 상수를 설정할 수도 있습니다 wp-config.php.

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

웹 사이트의 루트에 WordPress가 설치되어 있어야합니다.


또한 다음과 같은 것을 사용하여 첨부 파일의 경우 guid각각 을 업데이트해야합니다.wp_postsUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode

2
GUID를 변경해서는 안됩니다. 여기에서 더 읽으십시오 : codex.wordpress.org/Changing_The_Site_URL#Important_GUID_ 참고
NightHawk

4

큰 문제는 아닙니다. 데이터베이스에 자동으로 변환 할 수없는 이전 링크가 모두 포함되어 있습니다. 이를위한 두 가지 유형의 솔루션이 있습니다.

  1. 에서 것은 wp-config.php이 코드를 추가합니다 :

    define ( 'WP_HOME', 'http : //'. $ _SERVER [ 'SERVER_NAME']);
    define ( 'WP_SITEURL', WP_HOME. '/');
  2. "oldurl"을 이전 링크로 바꾸고 "newurl"을 현재 링크로 바꾸어 다음 SQL을 변경하십시오.

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

데이터베이스에서 이러한 SQL 쿼리를 실행하고와 다른 것이 있으면 접두사를 변경하십시오 wp_.


2

설정에서 사이트 URL을 변경하는 것만으로는 모든 내부 사이트를 업데이트하여 작업중 인 개발자 사이트를 만들 수는 없습니다 (사이트가 핵심이 아닌 한). 직렬화 된 데이터가 표시되지 않고 이전 사이트를 가리키는 게시물 내의 링크에 문제가 있습니다.

Backup Buddy 또는 Duplicator와 같은 마이그레이션 도구를 사용하여 새 URL로 새 위치에 재배치 할 수있는 사이트의 전체 복사본을 만드는 것이 더 현명합니다. 이렇게하면 게시물, 사용자 정의 메뉴 링크 등에서 작업 링크가 계속 유지됩니다.이 중 하나를 사용하면 변경 사항을보다 쉽게 ​​시작할 수 있습니다. 모두 포장하고 완료되면 프로덕션 사이트에 다시 배포하십시오.

모든 것을 다시 다운로드 / 업로드하는 데 시간을 소비하지 않으려면 WP Migrate DB와 같은 것을 사용하여 데이터베이스를 마이그레이션하면됩니다. 프로덕션 사이트에 설치하고 새 URL을 사용하여 데이터베이스를 내 보낸 다음 phpMyAdmin 등을 통해 마이그레이션 된 데이터베이스를 개발자에게 가져 오십시오. 하위 폴더에 설치하는 경우 테마의 하드 코딩 된 링크를 계속 업데이트해야하며 .htaccess를 업데이트해야합니다.

RewriteBase 줄을 다음과 같이 변경하십시오.

RewriteBase /yourfolder/

그리고 index.php로 리디렉션되는 행은 다음과 같습니다.

RewriteRule . /yourfolder/index.php [L]


0
  1. phpMyAdmin에는 :로 이동 wp_options테이블 세트 homeurlsiteurl새 URL로
  2. wp-admin대시 보드에 로그인하면 setting->general 워드 프레스 주소 (URL) 및 사이트 주소 (URL)가 변경됩니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.