[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 459건 8 페이지
  • RSS
기술자료 목록
319
그누보드   10032  2017-09-20 12:23  
318
그누보드   12734  2017-09-19 01:05 ~ 2018-10-30 20:55  
317
그누보드   13423  2017-09-18 14:03  
316
그누보드   11017  2017-09-15 22:21  
315
그누보드   10572  2017-09-15 11:08  
314
그누보드   11656  2017-09-07 01:01 ~ 2017-12-21 14:22  
313
그누보드   26696  2017-09-05 04:49 ~ 2023-01-05 23:39  
312
그누보드   19353  2017-09-04 07:47 ~ 2019-09-26 22:55  
열람
그누보드   19333  2017-08-31 14:34 ~ 2023-04-17 13:00  
310
그누보드   9831  2017-08-22 02:32 ~ 2017-08-22 00:00  
309
그누보드   14172  2017-08-22 02:26 ~ 2021-06-23 13:35  
308
그누보드   20123  2017-08-08 15:44  
307
그누보드   13829  2017-07-28 15:32  
306
그누보드   18178  2017-07-25 01:41 ~ 2017-07-28 00:00  
305
그누보드   11928  2017-07-17 13:16  
304
그누보드   12531  2017-07-13 12:50 ~ 2018-12-04 18:46  
303
그누보드   13354  2017-07-12 19:25 ~ 2018-04-11 10:20  
302
그누보드   10775  2017-07-02 20:32 ~ 2021-08-02 21:45  
301
그누보드   17679  2017-07-02 01:41 ~ 2017-11-01 16:16  
300
그누보드   15132  2017-06-30 02:56 ~ 2017-07-02 00:00  

검색

해피정닷컴 정보

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

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