반응형
사용자가 웹사이트 접속시 PHP에서 HTTP 대신 HTTPS로 포워딩하게 위한 안내입니다.
지난 몇 년 동안 HTTPS는 인기가 급상승했는데요.
특히 구글이 HTTP보다 HTTPS사이트의 순위에 대한 평점을 올리면서 더욱 증가하고 있습니다.
또한 쇼핑몰의 경우 개인정보를 이용안할시 과태료의 대상이 되기 때문에 꼭 사용 부탁드립니다.
포워딩 하는 방법에는 세가지 방법이 많이 사용됩니다.
PHP코드를 사용하여 리디렉션 하거나 아파치의 설정을 변경하거나
아파치 모듈의 mod_rewrite을 사용하는 방법이 있습니다. (이건 .htaccess를 사용하셔도 됩니다.)
1. PHP의 사용
아래의 코드를 index.php의 가장 상단에 사용하시면 됩니다.
<?php
//If the HTTPS is not found to be "on"
if(!isset($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != "on")
{
//Tell the browser to redirect to the HTTPS URL.
header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"], true, 301);
//Prevent the rest of the script from executing.
exit;
}
위의 코드는 간단합니다.
$_SERVER 슈퍼 글로벌 배열의 HTTPS변수를 확인하고 on인지 체크해서 Header로 포워딩 하는 방법입니다.
2. 아파치 Redirect 사용
서버관리자의 경우 아파치 설정을 이용하여 추가할 수 있습니다. 일반적으로 HTTP는 80번, HTTPS는 443번 포트를 사용합니다.
<VirtualHost *:80>
ServerName www.mywebsite.com
Redirect / https://www.mywebsite.com/
</VirtualHost >
<VirtualHost *:443>
ServerName www.mywebsite.com
#configure your SSL
</VirtualHost >
3. 아파치 mod_rewrite 사용
직접 아파치 환경설정파일에 적용해도 되며, 호스팅 사용시 .htaccess 파일에 내용을 기재하면 모든파일에 자동으로 적용됩니다.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
반응형