본문 바로가기

major/Web

.htaccess 파일로 http→https 리다이렉트 설정하기

요새 간단한 회사 웹사이트를 구축해서 운영 중입니다. 호스팅은 닷홈이라는 회사에서 제공하는 월 500원짜리 리눅스 웹 호스팅을 사용 중입니다. SSL 인증서가 없어서 HTTP로만 접속할 수 있는 사이트였는데, 경고창이 뜨는 게 마음에 들지 않아서 SSL 인증서를 구매했습니다.

 

SSL 설치 완료 안내 메일

신청하고 다음날 바로 설치가 되었다는 메일이 왔습니다.

 

SSL 인증서 설치 확인

https://sungminhitech.com으로 접속하니 SSL 인증서가 잘 동작하는 것을 확인할 수 있었습니다. 브라우저에서 자물쇠도 잘 잠겨있었습니다. 하지만 문제는 따로 있었는데요, 기존에 네이버 서치어드바이저에 등록한 사이트 주소가 http://로 시작한다는 점이었습니다.

 

네이버 서치어드바이저 캡쳐화면

네이버에서 회사 이름을 검색하면 뜨는 웹사이트 주소를 클릭하면 무조건 http://로만 접속이 되었습니다. http를 https로 강제로 리다이렉트 시키는 방법을 찾아야 했습니다. AWS에서는 ALB로 설정하는데 ;( 도대체 닷홈에서는 어떻게 설정하면 되는지를 몰라서 1:1 문의를 넣었습니다..

 

닷홈 1:1문의 답변

참고하라고 준 사이트 주소⬇입니다.

.htaccess http를 https로 리다이렉트 처리하기

 

제가 처음 호스팅 할 때 .htaccess를 죽 쒀서 잡쉈는지 파일이 안 보여서 html 폴더 안에 새로 생성했습니다. 기존의 .htaccess 파일 코드에 블로그에서 제공한 코드를 추가하면 http→https 리다이렉트 설정이 됩니다. 제 .htaccess의 전체 코드는 아래와 같습니다.

<IfModule mod_url.c>
    checkURL On
    ServerEncoding EUC-KR
    ClientEncoding UTF-8
</IfModule>

<ifmodule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://sungminhitech.com/$1 [R,L]
</ifmodule>

php_flag register_globals on
php_flag register_long_arrays on

 

11번째 줄의 https://sungminhitech.com 부분만 변경해서 사용하시면 됩니다.  

 

리다이렉트 처리하면서 제가 삽질을 많이 했는데요, 새로 만든 .htaccess 파일에 리다이렉트 코드만 추가하니까 동작을 안 하더라고요. 기존 .htaccess 코드에 리다이렉트 코드를 추가해야지 동작합니다. 저는 기존 .htaccess 코드를 날려 먹은 바람에, 무료 호스팅을 하나 더 만들어서 .htaccess 코드를 가져왔는데요.. 저처럼 삽질하는 분 계실까 봐 기존 코드도 올려놓겠습니다.

# 기존 .htaccess 코드
<IfModule mod_url.c>
    checkURL On
    ServerEncoding EUC-KR
    ClientEncoding UTF-8
</IfModule>

php_flag register_globals on
php_flag register_long_arrays on

 

요즘은 간단한 사이트라도 SSL 설정이 필수인 것 같습니다. ALB 단에서 리다이렉트 설정만 하다가 아파치 서버에서 직접 리다이렉트 코드를 작성한 건 처음이라서 어려웠네요.. 저와 같이 삽질하고 계신 분이 있다면 친절하게 답변해드리겠습니다. 블로그 방문 감사합니다 :>


잘못된 내용이 있다면 언제든지 댓글이나 메일로 알려주시면 감사하겠습니다.

이 포스팅이 도움이 되었다면 공감 부탁드립니다.

궁금한 점은 언제든지 댓글 남겨주시면 답변해드리겠습니다 :D