wordpress site url 변경

개요

워드프레스의 사이트 URL 은 관리자 메뉴의 Settings -> General Settings 에서 변경할 수 있지만 실수로 도메인 명을 먼저 변경한 경우 링크가 깨져서 관리자 메뉴로 들어갈 수 없다.


이럴 경우 다음과 같은 방법을 통해 설정 파일을 수정하여 site url 을 변경할 수 있다. (URL 은 old.example.com 에서 new.example.com 으로 변경된다고 가정한다.)

설정 파일을 수정할 경우 Admin 메뉴에서 Site URL 을 변경할 수 없다.

처리

wp-config.php 수정

  1. wp-config.php 에 다음 항목을 추가
define('WP_HOME','http://new.example.com');
define('WP_SITEURL','http://new.example.com');


wp-includes/functions.php 수정

<?php
update_option('siteurl','http://new.example.com');
update_option('home','http://new.example.com');
?>


Databse 변경

DB 를 직접 수정하는 것은 위험하므로 위에 방법을 추천한다.


  1. wordpress 를 구동하는 계정으로 mysql client 연결

    mysql -u wordpress -p wordpress
  2. 옵션에서 home 과 siteurl 값 확인

    select option_id, option_name, option_value from wp_options where option_name in('home', 'siteurl');
  3. 테이블 업데이트

    UPDATE wp_options set option_value  = 'http://new.example.com' where option_name in('home', 'siteurl');
    
    UPDATE wp_posts SET guid = replace(guid, 'http://old.example.com','http://new.example.com');
    UPDATE wp_posts SET post_content = replace(post_content, 'http://old.example.com', 'http://new.example.com');
    UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://old.example.com','http://new.example.com');


Ref