cafe24 도메인일 경우를 전제로 하였다.
목표
origin.co.kr 로 접속 시,
destination.co.kr로 페이지가 이동되길 바랐다.
1. 포워딩하기
가장 간편한 방법.
두 도메인이 모두 cafe24의 네임서버를 사용하고 있는 경우라면 가능하다.
해당 origin 도메인은 다른 어떤 호스팅에 연결되어 있지 않고, 어떤 이미 포워딩되고 있는 상태가 아니어야 한다.
* 만약 네임서버가 cafe24가 아닌 타기관의 서버라면,
호스팅센터 페이지 > 나의 서비스 관리 > 도메인관리 > 네임서버 변경
에서 cafe24 서버로 먼저 변경을 해주어야 한다.
반영되는 데에는 24~48시간이 걸린다고 한다.
호스팅센터 페이지 > 나의 서비스 관리 > 도메인관리 > 도메인 포워딩 관리
에서 origin 도메인을 선택 후 '포워딩 설정'을 해주면 된다.
문제 발생
그런데 http://origin.co.kr 연결시에는 정상적으로 페이지가 이동되는데,
https://origin.co.kr 연결시에는 '페이지를 찾을 수 없다'는 오류가 발생했다.
크롬 브라우저 이용 시 모든 주소는 자동으로 'https'로 리디렉션 되어 접속되기 때문에,
포워딩은 거의 무용지물인 상태가 되었다.
원인 및 해결 방안
https는 인증서가 설치된 보안 주소를 뜻하기 때문에, 해당 도메인에 SSL 보안 인증서가 설치되어 있어야 한다.
SSL 보안 인증서를 설치하려면 호스팅 서비스에 도메인이 연결되어 있어야 하기 때문에,
결국 호스팅 서비스와 인증서를 둘 다 구매해야 했다.
대신 최소 웹호스팅 서비스(월 450원)와 무료 SSL 인증서(월 이용료 무료, 설피비 11,000원)를 구매하였다.
(그냥 포워딩을 할 때에는 도메인만 구입하면 되는데..)
2. .htaccess 파일을 이용하려 리디렉션하기
htaccess 파일이란?
Apache 웹 서버에서 디렉토리별로 설정을 제어할 수 있게 해주는 구성 파일.
즉, 설정 파일을 도메인의 루트 디렉토리에 저장하여 수정해주는 방법이다.
앞서 얘기한 바와 같이, 포워딩을 하기 위해서는 다른 어떤 호스팅에도 연결되어 있으면 안된다.
그런데 https 주소는 호스팅을 이용해야만 접속이 되기 때문에,
포워딩 방법으로는 목표한 웹페이지로 이동시킬 수가 없다.
그래서 이 설정 파일을 이용하여, 이 도메인 서버 내에서
리디렉션을 처리하도록 한다.
cafe24에서 호스팅을 이용하는 경우,
루트 디렉토리는 '\www'다.(다른 호스팅 서비스의 경우 루트 디렉토리가 \public_index 등 다를 수 있다)
루트 디렉토리에 '.htaccess' 파일을 만들어 아래와 같은 내용을 입력한다.
* 나는 한글 도메인을 구입하여 "오리진.co.kr"을 입력하였다. 영문이면 그냥 영문을 쓰면된다.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^오리진\.co.kr$ [OR]
RewriteCond %{HTTP_HOST} ^www\.오리진\.co.kr$
RewriteRule ^(.*)$ https://destinatoin.co.kr/$1 [R=301,L]
문제 발생
그런데, 모든 과정을 완료하였음에도 '.htaccess' 파일이 적용되지 않고 무시되는 양상이 나타났다.
리디렉션 되지 않고 계속 cafe24 초기 페이지 (따로 디렉토리를 서버에 올리지 않으면 뜨는 페이지) 가 뜨는 것.
원인 및 해결방안
1) 기본으로 적용되는 index_hosting.html 파일을 지웠다.
그랬더니 403 오류 발생.
index.html 파일이 없으면 오류가 발생할 수도 있다고 하여,
일단 destination.co.kr 도메인의 index.html 파일을 복사하여 다시 넣어주었다
2) 오류가 발생한 원인은 결국 "한글 도메인"이기 때문이었다.
.htaccess 파일 내의 '한글'을 아래와 같이 Punycode로 변경하였더니 정상적으로 작동하였다.
* Punycode :인터넷에서 한글이나 특수문자가 포함된 도메인(국제화 도메인, IDN)을 알파벳과 숫자만 사용하는 ASCII 형태로 변환한 것.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^xn--o39a9irn.co.kr$ [OR]
RewriteCond %{HTTP_HOST} ^www\.xn--o39a9irn.co.kr$
RewriteRule ^(.*)$ https://destinatoin.co.kr/$1 [R=301,L]
끝.
'배포 호스팅' 카테고리의 다른 글
GitHub pages로 무료 호스팅/배포/Vite 오류 해결 (1) | 2025.08.08 |
---|---|
네임서버(Name Server)란? (1) | 2025.07.30 |
netlify로 무료로 간단한 웹사이트 배포하기 (0) | 2025.03.05 |