SSL 적용 후 무조건 https로 접속되게 하는 방법
안녕하세요! 이번에 SSL 적용으로 이것 저것 알아보다 알게된 유용한 코딩이 있어서 공유해봅니다.
먼저 제가 문의게시판에 올려서 다른 고수님들이 알려주신 방법으로 1차적인 해결을 했었습니다.
https://sir.kr/qa/254360?sfl=mb_id%2C1&lstx=naver_sore613k
근데 위 방법으로는 도메인에 www. 이 붙으면 http로 접속이 되더라구요.
그래서 구글링 한 결과 어떤 상황에서도 무조건 https로 접속 가능한 좀 더 간결한 코딩을 발견해서 공유합니다.
.htaccess 파일 최상단에 아래와 같이 저장하시면 됩니다.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
이렇게하면 무조건 https로 접속이 됩니다.
원문 : https://xetown.com/rxe_tip/147293
위에 처럼 적용했는데 혹시나 사이트 접속이 안된다던지 한다면
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
이렇게 적용하면 된다고 합니다.
고수님들은 다 아시는 것이겠지만 혹시나 헤매실 저 같은 초보님들을 위해서 공유했습니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 31개
그런데
RewriteCond %{HTTPS} off
이 조건만으로는 리다이렉션 횟수가 많다고 하면서 다운되고
RewriteCond %{HTTP:X-Forwarded-Proto} !https
이 조건을 붙이니까 잘 동작하네요.
위 조건은 적용되지 않는 것 같고 아래 조건이 적용되는 것 같습니다.
위 조건은 왜 먹히지 않는걸까요?
https로 무조건 접속을 위에 설명해주신대로 하면 되는데...
http://www.domain.com 으로 접속하는 것을 https://domain.com으로 접속하게 만들려면 어떻게 해야하나요?
덕분에 해결하였습니다...
답변을 안달고 갈수가없내요/
<!--https로 강제 접속-->
<?php
if($_SERVER['HTTPS'] != "on"){
$ssl_port = ""; // 443 포트를 사용하지 않는경우에 이용할 포트번호 입력
if ($ssl_port == "") {
$redirect_URL = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
} else {
$redirect_URL = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
}
header("Location: ".$redirect_URL);
}
?>
.htaccess 파일을 어디에 있는지 알수 있을까요
초보자 올림 쫌 알려주세요 한번 시도 해보겠읍니다.