서브도메인에서 루트도메인으로 리디렉트 하는 방법

글의 제목 그대로 서브도메인에서 루트도메인으로 리디렉트 설정하는 방법을 알아보겠습니다.
글을 적고 보니 루트도메인이라고 해야하나 메인도메인이라고 해야하나 살짝 고민이 들었는데 둘다 통용이 되지 않을까 싶어 루트도메인이라고 표기를 해보겠습니다.

여기에 www 도 서브도메인이라고 하는게 맞기에 살짝 저도 헷갈리기는 하는데…
서브도메인에서 다른 서브도메인으로 리다이렉트 하는 방법이라고 표기를 해야 하나…. 라는 생각이…

아무튼 이번 라디렉트는 보고 계신 이 블로그 때문에 알아보게 된 것입니다.

이 블로그의 도메인은 blog.bkfactory.co.kr 입니다.
어느 날부터 갑자기 앞에 ‘blog’를 빼고 싶다는 생각이 들기시작합니다.

즉 blog.bkfactory.co.kr로 접속을 하면 www.bkfactory.co.kr로 리디렉트 하는 방법입니다.

보통 서브폴더를 서브도메인으로 리디렉트들을 많이 하기에 이에 대한 설명들은 쉽게 찾을 수 있는데 반대로 하는 경우에 대한 글들은 찾기가 쉽지가 않네요.

이 블로그는 워드프레스가 기본 CMS이기에 리디렉트 관련 플러그인을 설치하거나 SEO 플러그인에서 제공하는 리디렉트 기능을 활용해도 되기는 합니다만 플러그인 숫자를 늘리거나 하는 것을 좋아하지 않기에 서버에 .htaccess 파일을 수정하는 방법을 알아보았습니다.

.htaccess 파일에 아래와 같은 라인을 추가해 주었습니다.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.bkfactory\.co\.kr$ [OR]
RewriteCond %{HTTP_HOST} ^www\.blog\.bkfactory\.co\.kr$
RewriteRule ^(.*)$ https://www.bkfactory.co.kr/$1 [R=301,L]

그 이후 정상적으로 작동하는 것을 확인하였으며 도메인 뒤에 붙는 주소들도 다 잘 따라오는 것을 확인하였습니다.

blog.abc.com 을 www.abc.com으로 리디렉트 한다고 가정하면

RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.abc\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.blog\.abc\.com$
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]

위와 같은 라인을 추가하면 됩니다.

SSL이 설치되어 있다면 마지막 라인의 http 를 https로 대체해주시면 되겠네요.

필요에 따라 적용하시면 좋을 듯 합니다.