워드프레스 설치 후 연결 문제 - wordpress 또는 wp 하위 폴더 제거

워드프레스 정보를 제공하는 블로그 Avada 2019. 7. 5. 07:13 • 댓글:

워드프레스 오류 Forbidden

웹호스팅에 가입하고 워드프레스를 자동 설치하면 간혹 'www.example.com/wordpress' 또는 'www.example.com/wp'로 접속하면 사이트가 제대로 표시되고 관리자 페이지 화면으로도 넘어 갈 수 있지만, 하위 폴더(/wordpress 또는 /wp 폴더) 부분을 지우고 사이트에 접속하면 다음과 같은 오류가 발생하는 경우가 있습니다.

Forbidden
You don't have permission to access / on this server.

이 문제는 워드프레스 자동 설치 시에 워드프레스가 루트 폴더가 아닌 하위 폴더에 설치되었기 때문입니다. 웹호스팅에 따라 설치 폴더를 지정할 수 있는 경우가 있고, 어떤 호스팅에서는 무조건 /wordpress 폴더에 설치되기도 합니다.

루트 폴더에 설치하는 옵션이 없다면 수동으로 루트 폴더에 워드프레스를 설치하는 방법을 선택할 수 있습니다.

wordpress 또는 wp 같은 하위 폴더에 워드프레스가 설치되어 도메인 주소로 접속 시 오류가 발생하거나, 워드프레스 주소에서 하위 폴더 경로를 제거하고 싶은 경우 다음과 같은 조치를 취할 수 있습니다.

사이트 초기화 후 워드프레스 재설치

아직 본격적인 작업을 시작하지 않았다면 사이트를 초기화한 후에 워드프레스를 다시 설치하는 방법을 고려할 수 있습니다.

워드프레스 사이트 주소를 하위 폴더에서 루트로 변경하기

설치된 워드프레스를 그대로 두고 간단한 작업으로 하위 폴더가 표시되지 않도록 할 수 있습니다. 하지만 이 경우에도 실제 파일(예: 이미지 파일)은 하위 폴더 아래에 위치하게 됩니다(예: /wordpress/wp-content/uploads/ 폴더 아래).

이 방법은 워드프레스 문서에서 설명하고 있습니다. 자세한 방법은 이 글의 "워드프레스 사이트 주소를 하위 폴더에서 루트로 변경하기" 부분을 참고해보시기 바랍니다.

워드프레스 파일과 폴더를 모두 루트 폴더로 이동시키고 경로에서 하위 폴더 제거하기

다른 방법으로 FTP에 접속하거나 File Manager(Bluehost 등과 같이 cPanel을 제공하는 경우)에서 /wordpress 또는 /wp 하위 폴더 아래에 있는 모든 파일과 폴더를 루트 폴더로 이동시키고 DB에서 하위 폴더 경로를 제거하는 방법이 있습니다.

혹시 모르니 전체 백업을 실시한 후에 이 작업을 하면 좋을 것 같습니다.

FTP에서 파일 이동시키기

FTP 접속하여 작업하는 경우 그림과 같이 하위 폴더(위의 그림에서는 /blog 폴더)에 있는 모든 파일을 선택(Ctrl + A 키)한 상태에서 마우스로 그대로 드래그하여 루트 폴더(웹호스팅에 따라 public_html 또는 www 또는 html 폴더)로 이동시킬 수 있습니다.

cPanel의 파일 관리자(File Manager)를 이용하는 경우 해당 하위 폴더로 이동한 후에 아래 그림에 표시된 Select All을 클릭합니다.

그러면 모든 파일과 폴더가 선택됩니다. 이 상태에서 오른쪽 마우스 버튼을 누르고 "Move"를 클릭하면 선택한 항목을 모두 이동시킬 수 있습니다.

파일을 이동시킨 후에 phpMyAdmin에 접속하여 사이트 URL 경로에서 하위 폴더를 없애주어야 합니다.

예시:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.example.com/wordpress', 'http://www.example.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://www.example.com/wordpress','http://www.example.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.example.com/wordpress', 'http://www.example.com');
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.example.com/wordpress', 'http://www.example.com');

DB 작업은 위험할 수 있으므로 이 쿼리를 실행하기 전에 반드시 백업을 하시기 바랍니다.

이 방법을 이용하면 실제 경로에서도 하위 경로가 없어지게 됩니다.

참고: