[G5] http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩) > 기술자료 | 해피정닷컴

[G5] http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩) > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩) > 기술자료

그누보드 [G5] http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩)

페이지 정보


본문

php로 common.php 첫줄에서 실행하는 방법입니다
다른 곳에서 하면 그누보드에서 사용하는 lib화일들을 모두 로드한 후 실행하기 때문에 http인지 https인지 구분에 오류가 있을수 있습니다
 
그누보드 / common.php 의  맨위 <?php  아래에 넣습니다
아래 3가지 내용중 원하는 방식의 것을 적용하세요


1. www 붙이면서 https 로 이동하기
아래 2가지 방법중에서 선택적으로 하나만 적용합니다

[ 방법.1 ] 그누보드 / common.php 의  맨위 <?php  아래에 넣습니다
[ 방법.1-1 ] 
// www 붙이면서 https 로 이동하기
if((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) { // https: 일때
    if(strpos($_SERVER['HTTP_HOST'],'www.') === false) {
        $https_goto_url = 'https://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    }
} elseif((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) { // http: 일때
    if(strpos($_SERVER['HTTP_HOST'],'www.') === false) { // www 없으면 www 추가하고 http:// 연결
        $https_goto_url = 'https://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    } elseif(strpos($_SERVER['HTTP_HOST'],'www.') !== false) { // www 있으면 그냥 https:// 연결
        $https_goto_url = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    }
}


[ 방법.1-2 ] 2023-04-14 새로 만든 방법
// www 붙이면서 https 로 이동하기 시작
// https: 일때
if((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) {
    if(strpos($_SERVER['HTTP_HOST'],'www.') === false) {
        $https_forwarded_url = "https://www.".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_forwarded_url}");
    }
}
// http: 일때
elseif((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) {
    // www 있으면
    if(strpos($_SERVER['HTTP_HOST'],'www.') !== false) {
        $https_forwarded_url = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_forwarded_url}");
    }
    // www 없으면
    else {
        $https_forwarded_url = "https://www.".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_forwarded_url}");
    }
}
// www 붙이면서 https 로 이동하기 끝


[ 방법.2] 그누보드 / theme / basic / head.sub.php 상단에 넣기
// https 로 이동하면 www 추가 이동하기
$https_goto_url = "";
if (!preg_match('/www/', $_SERVER['SERVER_NAME']) == true) { // www 없을때
    if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $https_goto_url = "https://www.".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        } else {
            $https_goto_url = "https://www.".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
    
        // php 문서 최상단에 위치해야 정상 작동
        //header("Location: ".$https_goto_url);
        
        echo "<script>\n";
        echo "location.href = '{$https_goto_url}';\n";  // 현재창으로 전송
        //echo "parent.location.href='{$https_goto_url}';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
} else { // www 있을때
    if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != "on"){
        $ssl_port = "";  //  443 포트를 사용하지 않는경우에 이용할 포트번호 입력
        if ($ssl_port == "") { 
            $https_goto_url = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        } else {
            $https_goto_url = "https://".$_SERVER['HTTP_HOST'].":".$ssl_port.$_SERVER['REQUEST_URI'];
        }
        
        // php 문서 최상단에 위치해야 정상 작동
        //header("Location: ".$https_goto_url);
        
        echo "<script>\n";
        echo "location.href = '{$https_goto_url}';\n";  // 현재창으로 전송
        //echo "parent.location.href='{$https_goto_url}';\n";  // 부모창으로 전송
        echo "</script>\n";
    }
}
//echo "https 로 이동하면 www 추가 이동하기<br>";
//echo $https_goto_url ."<br><br>";



2. www 제거하고 https 로 이동하기
// www 제거하고 https 로 이동하기
if((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) { // https: 일때
    if(strpos($_SERVER['HTTP_HOST'],'www.') !== false) {
        $https_goto_url = 'https://'.str_replace("www.", "", $_SERVER['HTTP_HOST']).$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    }
} elseif((isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') || !(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on')) { // http: 일때
    if(strpos($_SERVER['HTTP_HOST'],'www.') !== false) { // www 있으면 www 빼고 https:// 연결
        $https_goto_url = 'https://'.str_replace("www.", "", $_SERVER['HTTP_HOST']).$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    } elseif(strpos($_SERVER['HTTP_HOST'],'www.') === false) { // www 없으면 그냥 https:// 연결
        $https_goto_url = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
        header("Location:{$https_goto_url}");
    }
}



3. 서브도메인.cafe24.com 을 www.도메인.com 으로 바꾸면서 https 로 이동하기
https://www.happyjung.com/lecture/3223 으로 강좌를 이동해서 새롭게 등록 했습니다.



참고자료
https://sir.kr/g5_tip/15414
https://m.blog.naver.com/awspro/221904637678
https://stackoverflow.com/questions/8830060/notice-undefined-index-http-x-forwarded-proto-in-c-users-me-project-index-php

댓글목록

profile_image

가로수님의 댓글

가로수 이름으로 검색 작성일

감사합니다.
덕분에 잘 적용하였습니다.^^

profile_image

관리자1님의 댓글의 댓글

관리자1 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

도움되었다니 기쁩니다~~


Total 2,641건 29 페이지
  • RSS
기술자료 목록
2081
MSSQL   30222  2017-09-22 18:05  
2080
그누보드   10101  2017-09-20 12:23  
2079
JavaScript   21548  2017-09-20 07:12 ~ 2018-02-28 19:06  
2078
그누보드   12781  2017-09-19 01:05 ~ 2018-10-30 20:55  
2077
HTML   30659  2017-09-18 23:09  
2076
그누보드   13478  2017-09-18 14:03  
2075
Editor   10733  2017-09-18 12:51  
2074
Editor   12440  2017-09-18 11:38 ~ 2017-12-01 05:01  
2073
그누보드   11052  2017-09-15 22:21  
2072
그누보드   10622  2017-09-15 11:08  
2071
ClassicASP   15309  2017-09-13 23:26  
2070
일반   11186  2017-09-09 06:48  
2069
호스팅   14965  2017-09-07 18:28 ~ 2018-08-28 10:51  
2068
그누보드   11705  2017-09-07 01:01 ~ 2017-12-21 14:22  
2067
그누보드   26882  2017-09-05 04:49 ~ 2023-01-05 23:39  
2066
HTML   27958  2017-09-05 04:39  
2065
일반   15723  2017-09-04 18:48  
2064
그누보드   19432  2017-09-04 07:47 ~ 2019-09-26 22:55  
2063
PHP   15773  2017-09-04 07:41  
2062
Adobe   13096  2017-09-02 03:14  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.