루트 디렉터리가 아닌 하위 디렉터리(예: /wordpress/)에 워드프레스를 설치할 경우가 있습니다. 예를 들어, 현재 사이트를 운영 중인 상태에서 워드프레스로 바꾸고자 하는 경우 하위 디렉터리에 워드프레스를 설치하여 사이트를 설정할 수 있습니다. 또는 자동 설치 프로그램에 의해 /wp 또는 /wordpress와 같은 하위 폴더에 워드프레스가 설치될 수 있습니다.

하위 디렉터리에 워드프레스를 설치했을 때 메인 도메인 URL을 입력하면 워드프레스 사이트가 표시되도록 하려면 다음 단계를 따르도록 합니다.

  1. 하위 디렉터리(예: /wordpress)에 워드프레스를 설치합니다.
  2. 워드프레스에 관리자로 로그인한 후에 설정 > 일반에서 다음과 같이 설정합니다.
    워드프레스 사이트 URL 및 홈 URL 설정
  3. 위의 그림과 같이 “워드프레스 주소(URL)”에는 하위 디렉터리를 추가하고 “사이트 주소(URL)”에는 추가하지 않습니다. 설정을 저장하도록 합니다. 설정을 저장하면 사이트가 제대로 표시되지 않습니다(파일 없음, 404 오류 등이 나타날 수 있음). 하지만 걱정하지 않아도 됩니다. 몇 가지 설정을 해 주면 사이트가 정상적으로 작동하게 됩니다.
  4. 이제 FTP를 이용하여 사이트에 접속합니다. 워드프레스가 설치된 폴더에서 index.php 파일과 .htaccess 파일을 루트 폴더로 복사합니다. (이때 워드프레스 폴더의 index.php 파일과 .htaccess 파일은 그대로 둡니다.)  임시로 로컬 컴퓨터로 두 파일을 복사한 후에 다시 웹호스팅 서버의 루트 디렉터리로 복사하는 방법으로 두 파일을 루트로 복사할 수 있습니다.
    워드프레스 서브 디렉터리에 설치 시 문제 해결
    워드프레스 서브 디렉터리에 설치 시 문제 해결
  5. 이제 루트(Root) 디렉터리에 복사한 index.php 파일에서 라인 하나를 수정하도록 합니다.
    require( dirname( __FILE__ ) . '/wp-blog-header.php' );

    이 라인을 다음 라인으로 대체합니다. (/wordpress 부분은 실제 하위 디렉터리 이름으로 변경)

    require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
  6. 워드프레스 사이트에 로그인합니다. (로그인 주소는 아직 www.example.com/wordpress/wp-admin/ 형식입니다.)
  7. 설정 > 고유주소로 이동하여 아무런 변경을 하지 말고 “변경 사항 저장”을 클릭합니다. 그러면 Rewrite 규칙이 업데이트되고 .htaccess 파일이 업데이트됩니다. 만약 .htaccess 파일이 자동으로 업데이트되지 않으면 고유주소 페이지에 나와 있는 코드를 수동으로 복사해야 합니다.

이제 www.example.com처럼 하위 디렉터리 없이 주소를 입력해도 정상적으로 워드프레스 사이트에 접속할 수 있습니다.

참고로 하위 디렉터리에 워드프레스를 설치하고 무심코 “워드프레스 주소(URL)”와 “사이트 주소(URL)” 설정에서 하위 디렉터리 경로를 삭제하는 경우가 있습니다. 이 경우 사이트에 제대로 접속할 수 없고 관리자 페이지(대시보드)에도 접속할 수 없게 됩니다. 이런 문제에 직면하는 경우 “워드프레스 주소 변경으로 사이트에 접속하지 못하는 문제 해결” 글을 참고로 DB에 접속하여 워드프레스 URL 정보를 수정하여 문제를 해결할 수 있습니다. 그런 다음 위의 과정에 따라 메인 URL을 입력하더라도 하위 디렉터리로 리디렉션되도록 설정하면 사용자가 www.example.com과 같이 메인 URL을 입력하더라도 하위 디렉터리에 설치된 워드프레스가 정상적으로 표시됩니다.