본문 바로가기
Tip/WordPress Tip

wordpress 디렉토리에 만든 워드프레스 디렉토리 루트로 변경 서브도메인 멀티사이트로 전환 하는 방법 팁 시리즈 3

by 낯선공간2019 2020. 9. 15.

목차

    워드프레스 디렉토리를 루트로 변경하여 서브도메인 멀티사이트로 전환하는 방법

    워드프레스 설치를 처음 할 때, 많은 사용자들이 /wp 또는 /wordpress와 같은 디렉토리에 설치하는 경우가 많습니다. 이는 초보자들에게는 디렉토리 구조를 깔끔하게 유지할 수 있는 편리한 방법으로 보일 수 있지만, 이후 멀티사이트 환경으로 확장하려는 경우에는 여러 가지 제약이 따를 수 있습니다. 특히, 멀티사이트를 서브도메인으로 구성하려는 경우, 디렉토리에 설치된 워드프레스를 루트로 변경하는 과정은 꽤 복잡할 수 있습니다.

    워드프레스 멀티사이트는 두 가지 구조를 지원합니다: 서브도메인(subdomain)과 서브디렉토리(subdirectory)입니다. 디렉토리에 설치된 워드프레스는 서브디렉토리 방식으로만 운영되며, 서브도메인 방식으로 전환하기 위해서는 추가적인 작업이 필요합니다. 서브도메인 방식은 각 사이트를 독립된 도메인처럼 보이게 할 수 있어 검색엔진 최적화(SEO)나 사이트 구조의 유연성을 높일 수 있습니다. 이 글에서는 디렉토리에 설치된 워드프레스를 루트로 이동하고, 멀티사이트를 서브도메인으로 전환하는 방법을 단계별로 설명드리겠습니다.

    워드프레스 설치 경로를 루트로 변경하는 기본 방법

    가장 간단한 방법은 워드프레스의 기본 설치 디렉토리를 루트로 이동하는 것입니다. 이 방법은 단일 사이트 구조에서 쉽게 적용할 수 있지만, 멀티사이트 구조에서는 다소 복잡할 수 있습니다.

    1. 파일 이동: 워드프레스 설치 파일을 현재 디렉토리에서 웹사이트의 루트 디렉토리로 이동합니다. 예를 들어, /wordpress 폴더에 설치되어 있던 파일들을 웹사이트의 루트 폴더로 복사합니다.
    2. index.php 파일 수정: 루트 디렉토리에 복사한 index.php 파일을 열어, 다음 코드를 수정합니다:require 경로를 맞추기 위해 wp-blog-header.php 파일의 위치를 확인하고 적절히 수정해야 합니다.
    3. require( dirname( __FILE__ ) . '/wp-blog-header.php' );
    4. 사이트 주소 변경: 워드프레스 관리 대시보드로 가서 설정 > 일반으로 이동합니다. 여기에서 ‘사이트 주소(URL)’를 웹사이트의 루트 URL(예: www.example.com)로 변경하고, ‘워드프레스 주소(URL)’는 현재 디렉토리 URL(예: www.example.com/wordpress)로 그대로 둡니다.
    5. .htaccess 파일 수정: 디렉토리 구조에서 루트로 이동함에 따라, .htaccess 파일의 Rewrite 규칙도 수정해야 합니다. 기본적으로 다음과 같은 규칙을 사용합니다:
    6. RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L]

    멀티사이트 서브디렉토리에서 서브도메인으로 변경하기

    이미 멀티사이트가 서브디렉토리 구조로 설정되어 있는 경우, 서브도메인 구조로 변경하는 과정은 다음과 같습니다:

    1. wp-config.php 파일 수정: wp-config.php 파일을 열고, 다음 두 가지 설정을 수정합니다:
    2. define('SUBDOMAIN_INSTALL', true); // 서브도메인 사용 define('PATH_CURRENT_SITE', '/'); // 현재 사이트의 경로
    3. .htaccess 파일 수정: 서브도메인 방식에 맞게 .htaccess 파일을 수정합니다. 서브도메인 방식에 맞는 기본 .htaccess 파일은 다음과 같습니다:
    4. RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L]
    5. 데이터베이스 경로 정보 수정: MySQL 데이터베이스에서 워드프레스 경로 정보를 업데이트해야 합니다. wp_options 테이블에서 siteurlhome 값을 새로운 루트 URL로 변경합니다. 데이터베이스 작업은 매우 신중하게 진행해야 하며, 작업 전 백업을 권장합니다.
    6. 사이트 주소 변경: 워드프레스 관리 대시보드에서 네트워크 관리 > 사이트로 이동하여 각 사이트의 주소를 서브도메인 형식으로 변경합니다.
    7. 클론 플러그인 사용: 복잡한 설정 변경을 피하고 싶다면, 멀티사이트 클론 플러그인을 사용해 사이트를 클론한 후, 기존 사이트를 삭제하고 새로 설정하는 방법도 있습니다.
    8. 내보내기 및 가져오기: 또는, 워드프레스 내보내기 및 가져오기 기능을 사용하여 사이트 데이터를 새로 설정된 서브도메인 환경으로 옮길 수도 있습니다.

    TIP: Internal Server Error 문제 해결

    Internal Server Error가 발생하는 경우, 대개 .htaccess 파일 설정의 문제일 수 있습니다. 특히 RewriteBase 경로 설정이 올바르지 않은 경우가 많으므로, 설정을 정확하게 입력했는지 확인하고 필요 시 설정을 조정해 보세요.

    결론

    워드프레스 디렉토리를 루트로 변경하여 서브도메인 멀티사이트로 전환하는 과정은 복잡할 수 있지만, 단계별로 진행하면 충분히 해결할 수 있습니다. 기존 사이트의 구조를 변경하는 과정에서는 데이터 백업이 필수적이며, 변경 작업 후에는 사이트 기능이 정상적으로 작동하는지 확인해야 합니다. 이러한 작업을 통해 웹사이트의 구조를 보다 효율적으로 관리하고, SEO 최적화에도 유리한 환경을 구축할 수 있습니다.

    키워드: 워드프레스, 디렉토리, 루트 변경, 서브도메인, 멀티사이트, .htaccess, wp-config.php, 서브디렉토리, Internal Server Error, 데이터베이스 수정

    반응형

    댓글