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

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

본문 바로가기

사이트 내 전체검색

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

PHP http:// 도메인에 www 를 무조건 넣거나 빼기 & https:// 로 이동하기 (포워딩)

페이지 정보


본문

header 를 이용하는 방식과 javascript 를 이용하는 방법을 안내합니다.
방식은 PHP 페이지 최상단에서 위치해야 정상 작동하며, 강력하게 작동합니다.
javascript는 페이지 상단이 아니어도 작동하지만, javascript를 제한한 경우에 작동하지 않습니다.


www 붙이기 ↔ www 제거하기
https://www.happyjung.com/lecture/102



1. https 로 이동하면서 www 추가하고 싶을때

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



2. https 로 이동하면서 www 제거하고 싶을때

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



3. .htaccess 파일을 이용해서 적용할때
.htaccsess 생성해서 호스팅 계정 최상단에 업로드합니다.
위 1 또는 2를 적용해서 정상 작동할때는 이것을 적용할 필요 없습니다.

3-1. 433 포트를 사용할 수 없을때
RewriteEngine On 
# force ssl 
RewriteCond    %{SERVER_PORT} ^80$ 
RewriteRule    ^(.*)$ https://%{SERVER_NAME}:포트번호%{REQUEST_URI} [L,R]


3-2. 433 포트를 사용할때
RewriteEngine On 
# force ssl 
RewriteCond    %{SERVER_PORT} ^80$ 
RewriteRule    ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]


참고자료
http://jobdahan.net/language_php/1435795 
https://sir.kr/qa/245731

댓글목록

등록된 댓글이 없습니다.


Total 2,634건 126 페이지
  • RSS
기술자료 목록
134
HTML   23326  2006-07-06 18:45 ~ 2010-11-01 00:00  
133
일반   25941  2006-07-06 11:53  
132
제로보드   16452  2006-07-03 10:26  
131
호스팅   13874  2006-07-01 13:07 ~ 2009-03-23 00:00  
130
PHP   14090  2006-07-01 11:56 ~ 2023-09-18 08:16  
129
호스팅   14784  2006-06-30 16:37  
128
PHP   14004  2006-06-30 08:28  
127
MySQL   16480  2006-06-29 21:52  
126
PHP   15147  2006-06-29 21:51 ~ 2014-12-28 00:00  
125
PHP   21904  2006-06-29 20:55 ~ 2022-08-04 18:44  
124
PHP   14406  2006-06-29 20:26 ~ 2013-01-19 00:00  
123
Linux   14990  2006-06-29 19:16  
122
JavaScript   14717  2006-06-29 15:58 ~ 2007-12-29 00:00  
121
JavaScript   17982  2006-06-29 13:26 ~ 2019-08-08 18:44  
120
제로보드   15214  2006-06-28 17:28  
119
JavaScript   19457  2006-06-28 16:03 ~ 2018-09-03 13:26  
118
HTML   14581  2006-06-27 03:40 ~ 2013-05-12 00:00  
117
제로보드   18247  2006-06-26 19:01  
열람
PHP   21596  2006-06-26 17:01 ~ 2021-02-26 16:59  
115
ClassicASP   26609  2006-06-26 10:13  

검색

해피정닷컴 정보

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

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