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,641건 127 페이지
  • RSS
기술자료 목록
121
JavaScript   17991  2006-06-29 13:26 ~ 2019-08-08 18:44  
120
제로보드   15223  2006-06-28 17:28  
119
JavaScript   19460  2006-06-28 16:03 ~ 2018-09-03 13:26  
118
HTML   14586  2006-06-27 03:40 ~ 2013-05-12 00:00  
117
제로보드   18250  2006-06-26 19:01  
열람
PHP   21611  2006-06-26 17:01 ~ 2021-02-26 16:59  
115
ClassicASP   26619  2006-06-26 10:13  
114
제로보드   16483  2006-06-23 08:48  
113
전자결제   34033  2006-06-21 19:52 ~ 2013-12-31 00:00  
112
전자결제   50746  2006-06-21 19:52  
111
ClassicASP   38229  2006-06-19 21:33  
110
전자결제   13768  2006-06-19 19:30 ~ 2009-01-31 00:00  
109
ClassicASP   13156  2006-06-19 19:12 ~ 2016-03-25 00:00  
108
JavaScript   13420  2006-06-17 22:49 ~ 2011-06-12 00:00  
107
PHP   13199  2006-06-17 19:15 ~ 2019-03-02 05:55  
106
JavaScript   12033  2006-06-16 18:49 ~ 2007-07-22 00:00  
105
JavaScript   22890  2006-06-16 18:13 ~ 2007-04-17 00:00  
104
JavaScript   23425  2006-06-15 19:10 ~ 2021-11-25 00:43  
103
ClassicASP   15267  2006-06-15 17:37 ~ 2021-10-15 01:09  
102
ClassicASP   26853  2006-06-14 12:33 ~ 2009-01-04 00:00  

검색

해피정닷컴 정보

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

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