상세 컨텐츠

본문 제목

HTTP 접속 시 HTTPS로 강제 리다이렉트 php 코드

홈페이지 제작/php

by WEBsiting 2025. 6. 30. 19:17

본문

아래는 PHP 코드로 HTTP 접속 시 HTTPS로 강제 리다이렉트 시키는 예시입니다. index.php 또는 프로젝트 내 공통으로 로드되는 PHP 파일 상단에 삽입하면 됩니다,

<?php
// HTTPS가 아닌 경우 리다이렉트
if (
    (!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] !== 'on') &&
    $_SERVER['SERVER_PORT'] != 443
) {
    $https_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    header("Location: $https_url", true, 301);
    exit;
}
?>

 

  • $_SERVER['HTTPS'] 값이 on이 아니라면 HTTP로 접속한 것으로 판단합니다.
  • $_SERVER['SERVER_PORT'] != 443 은 일부 서버 환경에서 HTTPS임에도 $_SERVER['HTTPS']가 설정되지 않는 경우를 보완합니다.
  • 301은 영구 이동 상태 코드로 SEO에도 적절합니다.

주의사항:

  • 반드시 가장 상단, 즉 HTML 출력 전에 실행되어야 합니다.
  • 클라우드플레어나 리버스 프록시 환경에서는 $_SERVER['HTTPS'] 대신 $_SERVER['HTTP_X_FORWARDED_PROTO']를 확인해야 할 수도 있습니다. 필요하다면 알려주세요.

관련글 더보기

Top