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건 1 페이지
  • RSS
기술자료 목록
2641
그누보드   131  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   182  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   178  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   142  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   155  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   180  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   336  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   676  2024-09-05 09:30  
2633
MySQL   978  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1206  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1325  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1268  2024-02-06 16:49  
2629
PHP   1452  2024-02-06 16:42  
2628
호스팅   1376  2024-01-29 12:54  
2627
PHP   1340  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1529  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1669  2024-01-08 12:36  
2624
영카트   1721  2024-01-04 14:57  
2623
일반   2612  2023-12-15 18:33  
2622
Android   2090  2023-11-30 18:48 ~ 2023-11-30 19:41  

검색

해피정닷컴 정보

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

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