운영 중인 워드프레스 웹사이트를 다른 서버에 옮기거나 복사를 해야하는 경우 도메인을 변경하게 되는 일이 생깁니다.
기존에는 워드프레스 DB의wp_options 테이블에서 siteurl과 home 필드를 변경할 도메인으로 수정하고 페이지마다 코딩된 소스에서 도메인을 일일히 확인해 수정했습니다.
더 간단한 방법이 없을까하고 코덱스를 검색해보니 역시 간단한 방법이 있었습니다.
- wp-config.php 파일 상단 부분에 상수(define) 추가
define('WP_HOME','http://사용할 도메인'); define('WP_SITEURL','http://사용할 도메인');
- /wp-content/themes/사용테마/functions.php 파일 상단 부분에 상수(define) 추가
update_option( 'siteurl', 'http://사용할 도메인'); update_option( 'home', 'http://사용할 도메인');
이것으로 도메인 변경 작업은 끝입니다. 위 두 파일을 수정했다면 해당 도메인으로 접속을 해봅니다. 관리자에서도 도메인이 변경되었는지 확인해봅니다.
define으로 정의한 WP_HOME, WP_SITEURL, siteurl, home 상수가 어떻게 사용되는지 간단히 알아보니 위 상수가 정의되어 있다면 DB에 정의된 siteurl과 home 값보다 우선적으로 적용을 합니다.
즉, 실제 DB에서 siteurl과 home 값이 변경이 일어나진 않습니다. DB보다 우선적으로 설정 파일 내 정의된 상수를 먼저 읽어오도록 처리가 되어있는듯 합니다.